jquery绑定问题

时间:2012-09-21 05:23:27

标签: jquery events selector bind

我正在设置一个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“,单选按钮的警报也会起作用

不确定如何使用上述脚本的修改版本实现这两种方案?

2 个答案:

答案 0 :(得分:1)

不需要逗号。它应该是:

$('...').bind('click keyup', function() {...});

答案 1 :(得分:0)

不应使用逗号...... 而不是这个

bind('click, keyup', function(){

试试这个

bind('click keyup', function(){