首页 >web前端 >js教程 >jquery中input的change事件失效的解决办法

jquery中input的change事件失效的解决办法

黄舟
黄舟原创
2017-06-27 09:44:515360浏览

今天工作的时候 遇到了用jquery选择 input输入框, 监听input中的内容变化,然后将input中的内容获取到,赋值给另一个input输入框。

这种逻辑本来很简单的。代码如下:

$(".showProductInfo").append("<tr>"
+"<td></td>"
+"<td>批量设置</td>"
+&#39;<td><input type="number" class="product_info" name="setPrice" id="setPrice" onchange="setprice()" value="" /></td>&#39;
+&#39;<td><input type="number" class="product_info" name="setStock" id="setStock" value="" /></td>&#39;
+"</tr>");

$(&#39;input[name=setStock]&#39;).on("change",function(){
   console.log($(&#39;[name=setStock]&#39;).val());
   $(&#39;[name=stock]&#39;).val($(&#39;#setStock&#39;).val());
});

我是尽量确保前面一段代码在后一段代码之前加载了,但是通过这种方式 选择不到 id=setStock的input输入框。

..............

十分钟后

我发现

$(".showProductInfo").append("<tr>"
+"<td></td>"
+"<td>批量设置</td>"
+&#39;<td><input type="number" class="product_info" name="setPrice" id="setPrice" onchange="setprice()" value="" /></td>&#39;
+&#39;<td><input type="number" class="product_info" name="setStock" id="setStock" value="" /></td>&#39;
+"</tr>");

这段代码是在一个按钮出发的,
但是

$(&#39;input[name=setStock]&#39;).on("change",function(){   
console.log($(&#39;[name=setStock]&#39;).val());   
$(&#39;[name=stock]&#39;).val($(&#39;#setStock&#39;).val());});
我是反在了script标签的尾部了。所以按钮没有点击之前,这段代码就已经执行了,此时上面的
$(".showProductInfo").append()还没有执行!!!

原因找到了!为了找到原因我还专门把第一个setprice()方法写到html中,变成html事件处理事件。 唉低级错误!!记录一下!共勉!


以上是jquery中input的change事件失效的解决办法的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn