使用jQuery调用函数

你的海

我正在构建一个jQuery脚本,并且在理解一切工作原理时遇到了问题,因此基本上我将创建一个函数而不是重写大量代码,所以这就是我的方法:

$('.chkboxes').on("change", ":checkbox", function () {
   if (this.checked) {                
       var yolo = this.id;
       switch(yolo) {
       case "chkBox1":
       break;
       case "chkBox2":
       addfield("yolo" , "yolo", "text", "yolo");
       break;
    }
}

然后我有一个名为“ addfield”的函数:

function addfield(class, name, type, id) {
  var fieldstring = '<tr class=" ' + class + '"><td>' + name + '</td><td><input type="' + type + '" id="' + id + '" name ="' + name + '" /></td></tr>';
  alert(fieldstring);
  $(fieldstring).hide().appendTo(wrapper).fadeIn(999);
}

但是我没有让它正常工作,我应该如何做,我一直将函数视为Java方法,但是它无法按照我希望的方式工作!任何帮助表示赞赏!

普祖连科

您不允许使用关键字,如classvarnew,等变量名,所以你应该改变你

function addfield(class, name, type, id) {
  var fieldstring = '<tr class=" ' + class + '"><td>' + name + '</td><td><input type="' + type + '"            id="' + id + '" name ="' + name + '" /></td></tr>';
   alert(fieldstring);
   $(fieldstring).hide().appendTo(wrapper).fadeIn(999);
}

 function addfield(someArgRepresentsClass, name, type, id) {
  var fieldstring = '<tr class=" ' + someArgRepresentsClass + '"><td>' + name + '</td><td><input type="' + type + '"            id="' + id + '" name ="' + name + '" /></td></tr>';
   alert(fieldstring);
   $(fieldstring).hide().appendTo(wrapper).fadeIn(999);
}

“在变量名中使用”是指使关键字成为变量名。你可以写像水木清华newClass

$('.chkboxes').on("change", ":checkbox", function () {
    var $this = $(this);
    if ($this.is(':checked')) {

        var yolo = $this.attr('id');
        if (yolo == "chkBox1"){ 
           break;
        } else if (yolo == "chkBox2"){
          addfield("yolo" , "yolo", "text", "yolo");
          break;
        }
    }
}

第二个是this.id,将其更改为$(this).attr('id')And顺便说一句,不要使用switch,在这种情况下if().. else会更好。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章