【发布时间】:2018-08-03 13:45:57
【问题描述】:
我正在动态生成一些选择输入,它遵循这个结构
<select id="OrderType_orderItem_0_product" name="OrderType[orderItem][0][product]" class="form-control">,
<select id="OrderType_orderItem_1_product" name="OrderType[orderItem][1][product]" class="form-control">
等等。
我需要在 .change 上对每个生成的选择进行 ajax 发布,我该怎么做?
现在我有这个,但它显然只适用于 id 0 的第一个选择:
$(document).ready(function () {
$('[name="OrderType[orderItem][0][product]"]').change(function(){
var val = $(this).val();
$.ajax({
type: "POST",
url: "myurl" + val,
success: function(data) {
}
});
return false;
});
【问题讨论】:
-
删除Javascript标签。
-
已经有一段时间了,但我相信要将事件绑定到动态创建的元素上,您必须使用delegate。
-
取决于它们的创建时间,但这是一个有效点。这些元素是在服务器还是客户端创建的?
-
@DrewKennedy 代表工作。我做了 $("body").on("change", "select[name^='[OrderType]']", function(){ //stuff });