Rumah >hujung hadapan web >tutorial js >jquery中input的change事件失效的解决办法

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

黄舟
黄舟asal
2017-06-27 09:44:515352semak imbas

今天工作的时候 遇到了用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事件处理事件。 唉低级错误!!记录一下!共勉!


Atas ialah kandungan terperinci jquery中input的change事件失效的解决办法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn