我正在设置一个 jquery 函数来将多个选择器绑定到多个事件,但是它似乎只适用于一个事件而不是另一个,这是我的脚本:
$('input[id*=_other]').parent().siblings().children().addClass('code');
$('.code, input[id*=_other]').bind('click, keyup', function(){
$(this).each(function(){
if ($(this).hasClass('code')) {
if($(this).is(':checked')){
alert('click')
}
else {
} //not working
}
else if ($(this).val().length > 0) {
alert('entered')
}
else {
} //working
});
});
html部分看起来像:
<th class="gridlabel">other specify 1<input size="15" tabindex="21" name="q62_5_other" class="other_input" id="q62_5_other" type="text" value="asd"/></th>
<td headers="q62_header1" class="gridcell"><input tabindex="22" type="radio" name="q62_5" id="q62_5_1" value="1"/></td>
<td headers="q62_header2" class="gridcell"><input tabindex="23" type="radio" name="q62_5" id="q62_5_2" value="2"/></td>
<td headers="q62_header3" class="gridcell"><input tabindex="24" type="radio" name="q62_5" id="q62_5_3" value="3"/></td>
<td headers="q62_header4" class="gridcell"><input tabindex="25" type="radio" name="q62_5" id="q62_5_4" value="4"/></td>
<td headers="q62_header5" class="gridcell"><input tabindex="26" type="radio" name="q62_5" id="q62_5_5" value="5"/></td>
所以它是一个打开的文本框,然后是表格单元格中的 5 个单选按钮,都在一行中。
如果单击了 5 个单选按钮中的任何一个,我希望“单击”警报出现,如果已键入打开的文本框,则“已输入”警报出现。
打开文本框的警报当然可以工作,如果我只有“.bind('click', function{...”而不是“click”和“keyup”),单选按钮的警报也可以工作。
不确定如何使用上述脚本的修改版本来实现这两种情况?