javaScript jQuery函数,如何传递变量

javaScript jQuery函数,如何传递变量

问题描述:

我的代码有什么问题。我如何将内心深处传递给我。我做到这一点,如果我运行功能editsubmit($selected, size),$选择正确插入,但我变得attrfull而不是大小。javaScript jQuery函数,如何传递变量

function editsubmit(attr, attrfull) { 
    if (attr.length) { 
     attr.val().length ? $selectedinput.attr({ 
      attrfull: attr.val() 
     }) : $selectedinput.removeAttr(attrfull); 
    } 
} 

$ selected is a variable and attrfull i a string。当我运行像editsubmit($selected,'size')这样的函数时,我是否需要在字符串周围输入两个qoutes。

+0

只是一个想法,但试试这个:'ATTR(attrfull,attr.val( ))'。应该工作... – Khez 2011-04-13 21:31:50

+0

是的,围绕字符串的单引号或双引号。 – 2011-04-13 21:32:01

+0

我认为你应该发布创建你的editsubmit调用的代码。它看起来像你使用PHP来生成JS调用......这很好......但我们需要看看你如何构建编辑提交调用。 – dmcnelis 2011-04-13 21:33:44

尝试

function editsubmit(attr, attrfull) { 
    if (attr.length) { 
     attr.val().length ? $selectedinput.attr(attrfull, attr.val()) : $selectedinput.removeAttr(attrfull); 
    } 
} 
+0

就是这样。完善。 – Pinkie 2011-04-13 21:46:56

是的,你确实需要它是一个字符串(用双引号),否则它会认为你正在尝试传递一个变量引用。

问题是这样的: {attrfull:attr.val()}

我想你希望它是 {尺寸:(无论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); 
     } 
    } 
}