Jquery回调对象

时间:2014-02-20 18:09:37

标签: jquery

我正在尝试创建一个简单的回拨功能。当用户选择某个字段时,它将取消选择其上方的所有字段。但是如果他们取消选择该字段,它将恢复到原始状态。

所以我的HTML看起来像这样:

    <div id="check-container">

      <label class="margined-check"><input name="weekly" class="no-margin" type="checkbox"> <span class="margincheck bold">Weekly</span>   
      </label>

      <label class="margined-check"><input name="daily" class="no-margin" type="checkbox"> <span class="margincheck bold">Daily</span>
      </label>
      <label><input name="inPerson" class="no-margin type="checkbox"> <span class="margincheck bold">In-Person</span>

      </label>
      <label><input name="tracker" class="no-margin" type="checkbox"> <span class="margincheck bold">Track</span>

      </label>
      <label><input name="onCall" class="no-margin" type="checkbox"> <span class="margincheck bold">On Call</span>
      </label>
       </div>

   <div>
         <label><input name="clearAll" class="no-margin clearAll"type="checkbox"> <span class="margincheck bold">No Communication</span>
       </label>
       </div>

然后我正在使用这个脚本:

 var CBback = {};
  $('.clearAll').change(function() {  

  if ($(this).is(':checked'))
  {
  //call back object
  $(CBback).extend({
  Weekly: $("input[name='weekly']").(':checked'),
  Daily: $("input[name='Daily']").(':checked'),
  inPerson: $("input[name='inPerson']").(':checked'),
  Tracker: $("input[name='Tracker']").(':checked'),
  onCall: $("input[name='onCall']").(':checked')
  });

  //uncheck boxes
  $(this).parent().parent().find('#check-container).prop('checked', false);

  }
  else{
  //go through object and reassign values to inputs
  $.each(CBback, function(key, value){
   $("input[name='+key+').prop('checked, value);
  }





});  

我收到'$(CBback).extend({'行说有意外'('

)的错误

先谢谢。

1 个答案:

答案 0 :(得分:0)

有很多语法错误。在几个地方你使用了不正确的编码以及缺少引号和结尾});。

现在是您的代码

var CBback = {};

$('.clearAll').change(function() {  

    if ($(this).is(':checked'))
    {
        //call back object
        $(CBback).extend({
            Weekly: $("input[name='weekly']:checked"),
            Daily: $("input[name='Daily']:checked"),
            inPerson: $("input[name='inPerson']:checked"),
            Tracker: $("input[name='Tracker']:checked"),
            onCall: $("input[name='onCall']:checked")
        });

        //uncheck boxes
        $(this).parent().parent().find('#check-container').prop('checked', false);

    }
    else{
        //go through object and reassign values to inputs
        $.each(CBback, function(key, value){
            $("input[name='+key+'").prop('checked', value);
        });
    }
});

将来请尝试检查语法。这可以通过检查您自己的代码或使用http://www.javascriptlint.com/online_lint.php等在线工具来完成。

我希望这会有所帮助。