我需要在添加选项后捕获选择的更改事件。 因为我不希望从页面上的各种控件输入dublicate值。 将选项添加到页面后,我尝试了各种方法来捕获事件。
更新:我希望在添加选项后触发更改事件。(不是点击选择本身)
我尝试的是下面的内容。
<script src="/jquery-1.8.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#clickMe").click(function () {
$('#example').append('<option value="foo">Foo</option>');
});
$("#example").find("option").change(function () {
alert("changed1");
});
$("#example").on("change", function () {
alert('changed2');
});
$("#example option").on("change", function () {
alert('changed3');
});
$("#example").change(function () {
alert('changed4');
});
});
</script>
</head>
<body>
<select id="example" multiple="multiple">
</select>
<button id="clickMe">
Add an Option
</button>
</body>
答案 0 :(得分:2)
尝试对同一http://api.jquery.com/trigger/
使用触发器方法同时检查
jquery trigger - 'change' function
@Edit 试试这个代码更改
$("#clickMe").click(function () {
$('#example').append('<option value="foo">Foo</option>');
$('#example').trigger("change");
});
答案 1 :(得分:1)
$(document).ready(function () {
$("#clickMe").click(function () {
$('#example').append('<option value="foo">Foo</option>');
$('#example').trigger('change');
});
$('#example').on('change', function() {
//alert
});
});