为什么jQuery更改事件不能与select选项一起使用?

时间:2013-03-18 11:05:46

标签: javascript html events jquery

当第一个选择元素(id = ANSWER.TTQ.MENSYS.9。)中的值发生变化时,以下代码应启用第二个选择元素(id = ANSWER.TTQ.MENSYS.8。),但它不会工作,我已经用尽了我能想到的所有选项,包括已在本网站上提出的那些选项。 (注意:元素ID必须是这些值,因此我没有使用#来选择它们,因为它不起作用。)

$(document).ready(function() {

 $("input[id='ANSWER.TTQ.MENSYS.9.']").bind('change',function() {
   alert ('this script runs');  
   $("input[id='ANSWER.TTQ.MENSYS.8.']").removeAttr('disabled');

 });
});

如果我用一个按钮替换启用的select(id = ANSWER.TTQ.MENSYS.9。),并用一个click事件替换change事件;有用。那么为什么不在select元素上使用change事件?

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

首先,您可以使用id字符#进行选择。其次,您需要转义.属性中的id,否则选择器引擎会查找标识为ANSWERTTQMENSYS的元素和9作为类。试试这个:

$("#ANSWER\\.TTQ\\.MENSYS\\.9\\.").bind('change', function () {
    alert('this script runs');
    $("#ANSWER\\.TTQ\\.MENSYS\\.8\\.").removeAttr('disabled');
});

Example fiddle

答案 1 :(得分:1)

$(document).ready(function() {

 $("#ANSWER.TTQ.MENSYS.9.").bind('change',function() {
   alert ('this script runs');  
   $("#ANSWER.TTQ.MENSYS.8.").removeAttr('disabled');

 });
});

select不是input(即文字输入)