jquery 动态生成的input添加change事件

牵手白首 2020-05-14

借助js的on方法,可以给动态生成的input标签,添加change事件

//我的费率
    $(document).on("input propertychange", "#mytbody .my_rate", function (e) {
        var my_rate = $(this).val();
        var obj = $(this).parent().parent();
        var child_rate = $(obj.find(‘.child_rate‘)[0]).val();
        $(obj.find(‘.left_rate‘)[0]).val(parseFloat(my_rate)-parseFloat(child_rate));
    });

这是动态生成的html结构

<table id="table" class="table table-striped table-bordered table-hover table-nowrap" width="100%">
        <thead>
        <tr>
            <th style="text-align: center; vertical-align: middle;" width="3%"><div class="th-inner">ID</div><div class="fht-cell"></div></th>
            <th style="text-align: center; vertical-align: middle;" width="10%"><div class="th-inner ">产品名称</div><div class="fht-cell"></div></th>
            <th style="text-align: center; vertical-align: middle;" width="5%"><div class="th-inner ">产品分类</div><div class="fht-cell"></div></th>
            <th style="text-align: center; vertical-align: middle;" width="5%"><div class="th-inner ">保费</div><div class="fht-cell"></div></th>
            <th style="text-align: center; vertical-align: middle;" width="3%"><div class="th-inner ">总服务费率</div><div class="fht-cell"></div></th>
            <th style="text-align: center; vertical-align: middle;" width="3%"><div class="th-inner ">下级分销服务费率</div><div class="fht-cell"></div></th>
            <th style="text-align: center; vertical-align: middle;" width="3%"><div class="th-inner ">剩余自留费率</div><div class="fht-cell"></div></th>
            <th style="text-align: center; vertical-align: middle;" width="3%"><div class="th-inner ">操作</div><div class="fht-cell"></div></th>
        </tr>
        </thead>
        <tbody id="mytbody">
             <tr id="0-id">
                <td style="text-align: center; vertical-align: middle;" id="22-myid" data-value="22">22</td>
                <td style="text-align: center; vertical-align: middle;" id="22-myname" data-value="京彩一生百万医疗">京彩一生百万医疗</td>
                <td style="text-align: center; vertical-align: middle;" id="22-jq_category_name" data-value="意外险">意外险</td>
                <td style="text-align: center; vertical-align: middle;" id="22-premium" data-value="0.00">0.00</td>
                <td style="text-align: center; vertical-align: middle;"><input class="form-control my_rate" type="number" id="22-my_rate" value="15"></td>
                <td style="text-align: center; vertical-align: middle;"><input class="form-control child_rate" type="number" id="22-child_rate" value="8"></td>
                <td style="text-align: center; vertical-align: middle;"><input class="form-control left_rate" type="number" id="22-left_rate" value="5"></td>
                <td style="text-align: center; vertical-align: middle;" class="mydel" data-id="0">删除</td>
            </tr>
            <tr id="1-id">
                <td style="text-align: center; vertical-align: middle;" id="27-myid" data-value="27">27</td>
                <td style="text-align: center; vertical-align: middle;" id="27-myname" data-value="平安一生">平安一生</td>
                <td style="text-align: center; vertical-align: middle;" id="27-jq_category_name" data-value="健康险">健康险</td>
                <td style="text-align: center; vertical-align: middle;" id="27-premium" data-value="100000.00">100000.00</td>
                <td style="text-align: center; vertical-align: middle;"><input class="form-control my_rate" type="number" id="27-my_rate" value="20"></td>
                <td style="text-align: center; vertical-align: middle;"><input class="form-control child_rate" type="number" id="27-child_rate" value="5"></td>
                <td style="text-align: center; vertical-align: middle;"><input class="form-control left_rate" type="number" id="27-left_rate" value="5"></td>
                <td style="text-align: center; vertical-align: middle;" class="mydel" data-id="1">删除</td>
            </tr>
         </tbody>
    </table>

使用bind方法不行,具体,on和bind和区别自行百度吧,我也不明白

相关推荐