gpt4 book ai didi

javascript - 多选不以编程方式选择值

转载 作者:行者123 更新时间:2023-11-30 18:16:55 25 4
gpt4 key购买 nike

我在使用 DropDownList 多选 ( Reference ) 时遇到问题。

我想要什么......

我想使用它们的值以编程方式单击下拉列表中的一些复选框(用于回发)。

简报


在“引用”中,我发现 jQuery 中存在错误,所以我需要这样做 ->

$("select").multiselect("widget").find(":checkbox").each(function(){
this.click();
});

所以,我尝试了这个并成功了……然后,我添加了“[value='value']”,它成功了。这正是我所需要的。

$("select").multiselect("widget").find(":checkbox[value='value']").each(function(){
this.click();
});

这是我所做的:我在回发前获得了一个包含所选值的数组 (consultantValues)。然后,我想在下拉列表“顾问”中使用数组中的值找到复选框,最后单击它。

代码->

for (var x = 0; x < consultantValues.length; x++) {
var consultantSelected = ":checkbox[value='" + consultantValues[x] + "']";
var doConsultantStringCode = $("id$='ddlConsultant']").multiselect("widget").find(consultantSelected);
for (var a = 0; a < doConsultantStringCode.length; a++) {
doConsultantStringCode[a].click();
}
}

这就像一个魅力:B顺便说一句,我使用“for”而不是“each”,因为它运行得更快。

问题


在其他下拉列表中,我尝试做同样的事情......它有效,但突然停止工作:/

代码 ->

for (var i = 0; i < selectedManagements.length; i++) {
var checkboxValue = ":checkbox[value='" + selectedManagements[i] + "']";
var findCheckbox = $("[id$='ddlManagement']").multiselect("widget").find(checkboxValue);
for (var k = 0; k < findCheckbox.length; k++) {
findCheckbox[k].click();
}
}

我坚持这个:/

注意事项:

  • 我能看到的是,findCheckbox 的长度为 0...不明白为什么现在的长度为 0 而以前的长度为 1...
  • 下拉菜单是 ASP 控件。
  • 如果您需要任何额外信息,请告诉我

最佳答案

为什么不直接添加 checked="checked" 属性而不是模拟点击?这实际上太骇人听闻了,无法触发用户未启动的 DOM 事件。

只需这样做:

$("select").multiselect("widget").find(":checkbox").each(function(){
this.attr({ checked: "checked" });
});

关于javascript - 多选不以编程方式选择值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13033402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com