我修改了modal dialog form from JQuery-UI并添加了两个dropdownchecklists(DDCL),其中一个带有单选按钮,用于我们制作或服务的乐器模型,另一个用于客户可以请求的一系列服务每种工具。我想保留单选按钮的状态。复选框,因为客户很常见的是添加几个相同类型的仪器,并且相同的请求服务仅更改序列号和可能的部件号(可以留空,需要S / N)。我正在使用:
$("#services").dropdownchecklist("refresh");
$("#modelNumber").dropdownchecklist("refresh");
刷新按钮&复选框状态(如果我不刷新,客户只接受显示的默认值,我实际上得到一个空输入而不是它在框中所说的)所以我可以重新检查按钮&他们想要输入的下一个乐器的复选框。我需要在刷新之前保留客户的选择,然后再将它们放回去。
我试图通过以下方式获取州:
var selectedServices = $("#services").prop("checked");
和
var selectedModel = $("#modelNumber").prop("checked");
但是当我们点击“添加新乐器”时,我无法弄清楚如何将它们重新应用于选择选项。我可以检查所有复选框并通过执行以下操作获取最后一个单选按钮:
selectedServices = $("#services").find("option").attr("selected", "selected"); selectedModel = $("#modelNumber").find("option").attr("selected", "selected");
在我进行上面显示的刷新之前,但这不是我需要的,那些只是检查最后一个单选按钮并给我一个列出所有可用的15项服务,基本上是“全选”。没用。
在这里小提琴:Add Instrument (SO question version)。单击“添加新仪器”,选择型号,将任何内容放入序列号文本框(1-8个字符之间),然后选择几项服务,并单击“添加仪器”。现在,再次单击“添加新仪器”,并注意两个DDCL都设置为默认值“单击以选择...”。我希望它们是客户的最后选择。
答案 0 :(得分:2)
当我在相关问题中提出你的问题时,我正在寻找一些解决方案来设置多个选择菜单的值(很奇怪为什么它应该抛出这个问题,因为没有匹配的关键字)。所以,足够的背景。
我也遇到了与dropdownchecklist
类似的问题,老实说,我认为不值得努力调整这个问题。它是一个过时的旧插件,不提供正确支持最新的jquery,并且不与最新的浏览器等完全兼容(更多信息,请参阅此site的限制部分。我是什么最讨厌这个小部件是因为它不支持链接,这是jQuery的一个非常重要的特性。这对我来说是一个破坏者。
去年我使用这个小部件时遇到了类似的困境,我找到了解决问题的方法。这就是我所做的:
select
标记的data
中存储了表单中的数据(我的意思是body
ed选项)。 data
获取这些值并将其存储在变量selectedOpts
中。 selectedOpts
设置回select
标记"refresh"
附加到dropdownchecklist
代码的select
这是一个演示:http://jsfiddle.net/4D8LU/4/(它只是演示的更新版本)
我添加到您的演示
在"Add Instrument"
初始化dialog
的回调中,我添加了一行代码,可将您选择的选项推送到data
body
标记。
$("body").data("prevOpts",
{
"prevOpts": {
modelno": modelNumber.val(),
"services": services.val()
}
});
您的resetDDCL
来电现在将从data
获取值并将这些值设置为select
。这是功能:
function resetDDCL() {
//take the data from body
var selectedOptions = $("body").data("prevOpts").prevOpts;
//set the services
services.val(selectedOptions.services);
services.dropdownchecklist("refresh");
//set the model number
modelNumber.val(selectedOptions.modelno);
modelNumber.dropdownchecklist("refresh");
}
希望这会有所帮助。同样,我建议你使用其他替代方案。对于其他想法,请查看:10+ JQUERY SELECTBOX/DROP-DOWN PLUGINS
我目前正在使用的样式下拉菜单
<强> THIS 即可。我发现它非常灵活,支持最新的jquery版本,并支持链接。