我在捕捉选择的on change事件时遇到问题。 如果选择器直接指向id,则没有问题。但随着, 它不起作用。 你知道为什么吗?
这是我的一大块代码:
<html>
<head><title></title>
<link rel=stylesheet href="css/jquery-ui-1.9.2.custom.css" />
<script type="text/javascript" src="js/jquery-1.9.1.min.js"> </script>
<script src="js/jquery-ui-1.9.2.custom.js"></script>
....
<select name="type_book_1" id="type_book_1">
<option value="ae">airplane</option>
<option value="ca">car</option>
</select>
....
JS:
<script>
$(function () {
$(document.body).on('change', 'input[name^="type_book"]', function () {
alert('Change Happened');
});
});
</script>
答案 0 :(得分:1)
在select
input
$(document).on('change','select[name^="type_book"]',function(){
// ^^^^here write select at the place of input
alert('Change Happened');
});
参见 DEMO
答案 1 :(得分:1)
元素选择器input
错误,应为select
$(document.body).on('change', 'select[name^="type_book"]', function () {
alert('Change Happened');
});
演示:Fiddle
答案 2 :(得分:1)
你可以这样做:
$(document.body).on('change', ':input[name^="type_book"]', function () {
alert('Change Happened');
});
此处,:input
选择器将选择所有输入,textarea,select和按钮元素。
但是,在您的情况下,您使用的input
选择器仅选择input
类型元素,而不选择select
元素。因此,您的代码无效。
答案 3 :(得分:0)
选择器input
错误,请将其更改为select
$(document.body).on('change', 'select[name^="type_book"]', function () {
alert('Change Happened');
});