首頁 >web前端 >js教程 >jquery中input的change事件失效的解決辦法

jquery中input的change事件失效的解決辦法

黄舟
黄舟原創
2017-06-27 09:44:515353瀏覽

今天工作的時候 遇到了用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