Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.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_Parameters_Parameter Passing - Fatal编程技术网

Javascript Jquery-动态地将参数传递给函数

Javascript Jquery-动态地将参数传递给函数,javascript,jquery,function,parameters,parameter-passing,Javascript,Jquery,Function,Parameters,Parameter Passing,我甚至不确定我问的是否正确,但如果我只是展示一下,可能会更容易。基本上,我试图通过函数运行每个div的attr,作为参数,并基于该div的attr返回不同的结果 如您所见,示例是当您单击容器div中的链接时出现的一组下拉列表。如果您进行了选择,则会将其保存为父div中的attr。当您单击out时,问题会出现,然后再单击容器。。。它不是用适当的默认值或选择重新显示每个下拉列表,而是镜像它旁边的a的结果 TIA我插入了一些console.log()语句,以查看各种jQuery选择器的情况。我认为:

我甚至不确定我问的是否正确,但如果我只是展示一下,可能会更容易。基本上,我试图通过
函数运行每个
div
attr
,作为
参数
,并基于该div的attr返回不同的结果

如您所见,示例是当您单击容器div中的链接时出现的一组下拉列表。如果您进行了选择,则会将其保存为父div中的attr。当您单击out时,问题会出现,然后再单击容器。。。它不是用适当的默认值或选择重新显示每个下拉列表,而是镜像它旁边的
a
的结果


TIA

我插入了一些
console.log()
语句,以查看各种jQuery选择器的情况。我认为:

  • 当我在第一个“单击”节点中单击时,
    \u container
    是“top one”
  • 因此,在对这三个div的迭代中,您选择了包含在类为“top one”的div中的类为“dd”的两个div
  • 传递给函数
    select()
    的参数
    \u attr
    \u parent
    对于处理的每个节点都是相同的,为两个“dd”框提供相同的结果
我认为您需要更改用于定位要修改的节点的选择器。

foo=foo.find('.dropdown toggle').html(_new+'')

这一行有两个div,因此更改了两个值(如果该值是从droplist中选择的)

要正确还原选定的值,请执行以下操作:

function modified(_select) {
    console.log("modify");
    foo = $('#box').html();
    foo = $(_select).html(foo);
    // iterate on collection to restore selected value from selection tag;
    foo.filter("div[selection]").each(function(i, v){
        var selected = $(v).attr('selection');
        $(v).find('.dropdown-toggle').html(selected + '<b class="caret"></b>');                
    });                
}

尝试在示例中添加一些注释,这很难阅读,我会立即将变量重命名为比
asdf
eeee
更清晰的名称。对此表示抱歉。检查并添加了注释和更好的变量。从某种意义上说,这就是我想要描述的。所以这不是把某种形式的数组作为参数传递的问题,你不这么认为吗?我不认为问题在于参数和函数调用,我认为这只是选择要处理的对象。如果注释掉else中的行:
/$(this.find('.dd').empty()这是否为您提供了所需的行为?否则会显式清除其他两个“顶部”div中的两个div。不完全清除,但这可能必须工作。其思想是,当页面的另一部分被占用时,它们隐藏或转到纯文本。哦,好吧。。。我感谢你的帮助
if($(y).filter("div[selection]").length > 0){
    return modified(y);
}