If语句上的多个选择器

时间:2015-08-20 18:42:37

标签: javascript jquery if-statement

所以,我正在尝试确保禁用某个按钮,以防止用户在满足两个条件时从表单字段条目中保存数据:

  1. 选中复选框
  2. 相关表单字段中没有任何内容(#read_return_response_rate_ids)
  3. 这就是我的目的:

    $('body').on("change","#tab3 #read_return_response_rate_ids", function(){
      if ($(this).is('')) && ($('input:checkbox').is(':checked')) {
        $('.create_read_btn').attr('disabled', 'disabled');
      } else {
        $('.create_read_btn').removeAttr('disabled');
      }
    });
    

    它在控制台中给出的错误对于调试目的来说是完全没用的。

    Uncaught SyntaxError: Unexpected token /
    

    我认为这就是存在问题的地方:

      if ($(this).is('')) && ($('input:checkbox').is(':checked'))
    

    基本上,我不认为我可以有多个选择器,因为我有它们的结构,但我不知道。有没有人对为什么会返回错误有任何想法?我确认这个代码块是错误产生的地方,它选择性地注释掉其他代码块并将其削减到这个代码块。

2 个答案:

答案 0 :(得分:1)

存在语法错误(需要括号字符注释):

更改:

if ($(this).is('')) && ($('input:checkbox').is(':checked')) {

通过

if ($(this).is('') && $('input:checkbox').is(':checked')) {

答案 1 :(得分:1)

.is()的参数必须是选择器或jQuery集合;它测试指定的元素是否与选择器匹配或是否是同一组对象。如果要测试输入字段是否为空,则需要使用.val()来获取值。

if ($(this).val() == '' && $('input:checkbox').is(':checked')) {