我正在使用jquery multiselect插件
我禁用了一些项目,并在列表中检查了一些项目
我想只提取已检查项目的文本
我的代码是
var cval2 = $('#lsltrXYAxis option:checked').not(":disabled").map(function () {
return this.value.replace('ltrXYAxis', '');
}).get().join('@@');
禁用项目的HTML
<label class="ui-corner-all ui-state-hover" title="" for="ui-multiselect-lsltrXYAxis-option-0">
<input id="ui-multiselect-lsltrXYAxis-option-0" type="checkbox" aria-disabled="true" disabled="disabled" title="" value="ltrXYAxisApple Identifier" name="multiselect_lsltrXYAxis">
<span>Apple Identifier</span>
</label>
和已检查项目的HTML是
<label class="ui-corner-all" title="" for="ui-multiselect-lsltrXYAxis-option-1">
<input id="ui-multiselect-lsltrXYAxis-option-1" type="checkbox" aria-selected="true" checked="checked" title="" value="ltrXYAxisCustomer Price" name="multiselect_lsltrXYAxis">
<span>Customer Price</span>
</label>
但它也让我退回了@@
添加的废弃物品选择器出了什么问题 任何帮助将受到高度赞赏
由于
答案 0 :(得分:3)
您在HTML中使用option
标记选择器input
时错误地使用了$('#lsltrXYAxis input:checked:not(:disabled)');
。
试试这个:
data
此外,如果您需要将某些数据与元素相关联,最好使用value
属性,而不是从<input value="ltrXYAxisCustomer Price" ... />
属性中提取和替换数据。
而不是:
<input data-val="Price" ... />
尝试:
return $(this).data('val');
在你的JavaScript中:
{{1}}
答案 1 :(得分:1)
尝试下面的一些事情
var cval2 = $(':#lsltrXYAxis option:selected:not(:disabled)').map(function () {
return this.value.replace('ltrXYAxis', '');
}).get().join('@@');
答案 2 :(得分:0)
您必须使用:checked
选择器。
:selected
选择器的documentation指定“:selected
选择器适用于<option>
元素。它不适用于复选框或广播inputs
;对他们使用:checked
。“