Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javaScript jQuery函数,如何传递变量_Javascript_Jquery_Function - Fatal编程技术网

javaScript jQuery函数,如何传递变量

javaScript jQuery函数,如何传递变量,javascript,jquery,function,Javascript,Jquery,Function,我的代码有什么问题。我怎样把它传递到里面。按照我的方式,如果我运行函数editsubmit($selected,size),$selected被正确插入,但是我得到的是attrfull而不是size function editsubmit(attr, attrfull) { if (attr.length) { attr.val().length ? $selectedinput.attr({ attrfull: attr.val()

我的代码有什么问题。我怎样把它传递到里面。按照我的方式,如果我运行函数
editsubmit($selected,size)
,$selected被正确插入,但是我得到的是attrfull而不是size

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

$selected是一个变量,attrifull是一个字符串。当我运行函数如
editsubmit($selected,'size')
是时,是否需要在字符串周围加上双引号,否则它会认为您试图传递变量引用。

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

我想你希望它是这样的 {size:(无论attr.val()是什么)}

因此:

试一试


只是想一想,但是试试这个:
attr(attrfull,attr.val())
。应该可以…是的,在文字字符串周围加上单引号或双引号。我认为您应该发布创建editsubmit调用的代码。看起来您正在使用PHP生成JS调用…这很好…但是我们需要看看您如何构造edit submit调用。
attr.val()
不是问题所在,我没有使用任何PHP。这是一个简单的函数。我唯一的问题是attrfull没有被传递到函数中的attrfull。因此,如果我有editsubmit($var,'size'),我希望函数中对attrfull的每个引用都被size替换。但这并没有发生。
function editsubmit(attr, attrfull) {
    if (attr.length) {
        if (attr.val().length) {
          var myObj = {};
          myObj[attrfull] = attr.val();
          $selectedinput.attr(myObj);
        } else {
          $selectedinput.removeAttr(attrfull);
        }
    }
}
function editsubmit(attr, attrfull) {
    if (attr.length) {
        attr.val().length ? $selectedinput.attr(attrfull, attr.val()) : $selectedinput.removeAttr(attrfull);
    }
}