下面的函数使用jQuery UI MultiSelect Widget动态地将内容添加到多选元素(在此示例中,文本输入到 #newItem 并添加到 #example1,并且基于此'Refresh' 演示。
我在 100 多个元素上使用它,因此想修改函数,以便不需要为每个元素指定选择器。我以前都用过(this)
,next()
但是这个函数比我以前用过的要复杂一些,我不知道如何修改它以便对整个表单使用相同的选择器。
我在这里发布了一个函数的工作示例:http: //jsfiddle.net/chayacooper/ezxSF/24/
JS
$(function () {
var el = $("#example1").multiselect(),
selected = $('#selected'),
newItem = $('#newItem');
$("#add").click(function () {
var v = newItem.val(), opt = $('<option />', {
value: v,
text: v
});
if (selected.is(':checked')) {
opt.attr('selected', 'selected');
}
opt.appendTo(el);
el.multiselect('refresh');
});
});
HTML
<div>
<input type="text" id="newItem" />
<input type="button" id="add" value="Add" />
<label><input type="checkbox" id="selected" />Selected?</label>
<select id="example1" name="example-refresh" class="multiselect" multiple="multiple">
<option value="foo">foo</option>
<option value="bar">bar</option>
</select>
</div>