我有 3 个<select>
菜单,每个菜单都有更改事件。代码分解如下所示:
$(document).ready(function(){
// some code
$("#selectOne").change(function() {
// some code inc ajax request
$("#selectTwo").change(function() {
// some code inc a different ajax request
});
$("#selectThree").change(function() {
// some code inc a yet another ajax request
});
});
});
上面的问题是,虽然 selectOne 工作正常,并且 selectTwo 似乎也工作正常,但如果我更改 selectThree,selectTwo 和 selectThree 的代码会同时触发。根据 3 个选择中任何一个的选择顺序,selectThree.change 的响应可以是显示和隐藏之前的每个响应,然后再决定显示不正确的响应。
我想做的是:
$(document).ready(function(){
// some code
$("#selectOne").change(function() {
// some code inc ajax request
});
$("#selectTwo").change(function() {
// some code inc a different ajax request
});
$("#selectThree").change(function() {
// some code inc a yet another ajax request
});
});
在这种情况下,selectOne 工作正常,但 selectTwo 和 selectThree 不响应更改。
有没有办法纠正这一切,以便在更改每个元素时,只触发正确的更改事件?