我正在复制选择/多选元素的功能,并尝试使用此功能来显示已在相关容器中选择的项目。我需要显示在逗号分隔列表中选择的所有值,但它目前只显示一个选择(最后一个选择)。它还显示所选列表项的复选框、背景颜色等,而不是复选框值(即value="Black"
)。
我将它用于一些无法使用 jQuery UI MultiSelect 小部件的多选表单元素,因为它们需要以非常特定的方式设置样式(使用背景颜色或图像显示的选项并分布在多个列中,等等。 )。
我在下面包含了相关代码,并在此处发布了样式为“faux” -multiselect 元素的工作示例:http: //jsfiddle.net/chayacooper/GS8dM/2/
JS 片段
$(document).ready(function () {
$(".dropdown_container ul li a").click(function () {
var text = $(this).html();
$(".dropdown_box span").html(text);
});
function getSelectedValue(id) {
return $("#" + id).find("dropdown_box span.value").html();
}
});
HTML 片段
<div class="dropdown_box"><span>Colors</span></div>
<div class="dropdown_container">
<ul>
<li><a href="#"><div style="background-color: #000000" class="color" onclick="toggle_colorbox_alt(this);" title="Black"><div class=CheckMark>✓</div>
<input type="checkbox" name="color[]" value="Black" class="cbx"/></div>Black</a>
</li>
<!-- More list items with checkboxes -->
</ul>
</div>
我尝试了其他几种方法(包括此处列出的许多方法: 如何在 jQuery 中检索复选框值),但没有一种方法适用于隐藏复选框和/或我需要合并到这些特定表单元素中的其他功能。