我正在使用seletize 0.11.0 for bootstrap2。我想从<option>
获取具有特定价值的文字。
我试过了:
$("#id_sel option[value='1']").text();
我一无所获。
html元素<select>
的属性显示为无。
那么,怎么做?谢谢你的考虑。
修改
样品
<body>
<select id="id_sel" multiple='multiple'>
<option selected='selected' value='1'>first</option>
<option value='2'>second</option>
<option selected='selected' value='3'>third</option>
</select>
</body>
JS
$("#id_sel").selectize();
alert($("#id_sel option[value='1']").text());
现在我知道
在选项标签之间选择remove text并将select显示为无。这是有线的。
所以在运行时选择看起来像:
<select id="id_sel" multiple="multiple" class="selectized" style="display: none;">
<option selected='selected' value='1'></option>
<option value='2'></option>
<option selected='selected' value='3'></option>
</select>
好吧,我还是不知道如何获取文字。
答案 0 :(得分:0)
您可以使用
$("#id_sel option").each(function()
{
// here you can use $(this).text()
});
答案 1 :(得分:0)
<script>
jQuery(document).ready(function()
{
$("#id_sel option").each(function()
{
if(!$(this).is(':visible'))
{
alert($(this).val());
}
});
});
</script>
<select id="id_sel">
<option>select</option>
<option style="display: none;">1</option>
<option>2</option>
</select>
通过此代码,您可以获得隐藏选项字段的值
答案 2 :(得分:0)
嗯,应该有一些api来做到这一点。如果没有,它是经过的。我试过了getOption() and getItem()。这不行。 Selectize不会为我使用的版本的选项标签添加文本。它使<select>
为无,并创建一组div来覆盖<select>
的位置。在我的版本中,它看起来像:
<div class="selectize-control multi">
<div class="selectize-input items full has-options has-items">
<div data-value="1" class="item">first</div>
<div data-value="2" class="item">second</div>
<input ....
....
</div>
</div>
现在,我使用jquery多重选择器来获取文本。
$(".selectize-control .selectize-input div").each(function() {
if (1 == $(this).data("value")) {
alert($(this).text());
}
});
或由id
标识$("#id_sel").siblings(".selectize-control").find(".selectize-input div").each(function() {
if (1 == $(this).data("value")) {
alert($(this).text());
}
});
希望这对其他人有帮助。最好的答案应该是使用api来做到这一点。
答案 3 :(得分:0)
以下是您提到的代码:
$("#id_sel option").val("1").text();