我的代码出了什么问题。我如何将attrfull传递到内部。我完成它的方式,如果我运行函数editsubmit($selected, size)
,$ selected正确插入但我得到attrfull而不是大小。
function editsubmit(attr, attrfull) {
if (attr.length) {
attr.val().length ? $selectedinput.attr({
attrfull: attr.val()
}) : $selectedinput.removeAttr(attrfull);
}
}
$ selected是一个变量,attrfull是一个字符串。当我运行像editsubmit($selected,'size')
这样的函数时,我是否需要在字符串周围加倍qoutes。
答案 0 :(得分:2)
尝试
function editsubmit(attr, attrfull) {
if (attr.length) {
attr.val().length ? $selectedinput.attr(attrfull, attr.val()) : $selectedinput.removeAttr(attrfull);
}
}
答案 1 :(得分:1)
是,你确实需要它是一个字符串(双引号),否则它会认为你试图传递一个变量引用。
答案 2 :(得分:1)
问题在于: {attrfull:attr.val()}
我想你想要它 {size :(无论attr.val()是什么)}
所以:
function editsubmit(attr, attrfull) {
if (attr.length) {
if (attr.val().length) {
var myObj = {};
myObj[attrfull] = attr.val();
$selectedinput.attr(myObj);
} else {
$selectedinput.removeAttr(attrfull);
}
}
}