我正在构建一个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方法,但是它无法按照我希望的方式工作!任何帮助表示赞赏!
您不允许使用关键字,如class
,var
,new
,等变量名,所以你应该改变你
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] 删除。
我来说两句