Javascript:刷新选择框
这是我的HTMLJavascript:刷新选择框,javascript,jquery,Javascript,Jquery,这是我的HTML <select id="v-1" class="form-control input-sm"> <option value="624">Video 1</option> <option value="625">Video 2</option> <option value="626">Video 3</option> <option value="627"&g
<select id="v-1" class="form-control input-sm">
<option value="624">Video 1</option>
<option value="625">Video 2</option>
<option value="626">Video 3</option>
<option value="627">Video 4</option>
<option value="628">Video 5</option>
<option value="629">Video 6</option>
<option value="630">Video 7</option>
</select>
在我的javascript文件中,我有一个函数,它通过添加style=display:none删除了一些选项;添加到选项标记。例如:
<select id="v-1" class="form-control input-sm">
<option value="624" style="display: none;">Video 1</option>
<option value="625" style="display: none;">Video 2</option>
<option value="626">Video 3</option>
<option value="627" style="display: none;">Video 4</option>
<option value="628">Video 5</option>
<option value="629">Video 6</option>
<option value="630" style="display: none;">Video 7</option>
</select>
但是当我调用$v-1.val时,结果是624。我希望结果是626或第一个没有样式的选项,display:none。您可能可以:
jQuery("#v-1").find("option:visible:selected").val();
获取所选选项的值并显示。
如果只想获取第一个可见选项的值,可以执行以下操作:
jQuery("#v-1").find("option:visible:eq(0)").val();
试试这个
$("#v-1 option").each(function()
{
if($(this).is(':visible')){
alert($(this).val());
return false;
}
});
使用上述代码是否有帮助并不重要。无论如何显示:none不会隐藏Macintosh计算机中的选项项
相反,我建议从select中删除元素,并在需要时动态包含它。尝试以下操作:
$选项:不:checked.val
使用disable而不是style=display:none;由你选择
Html-
产出:626
以下是FIDLE将选项的显示样式设置为“无”不会更改select的值或第一个没有样式的选项“显示:无”。不考虑用户选择?
$("#v-1 option").each(function()
{
if($(this).is(':visible')){
alert($(this).val());
return false;
}
});
<select id="v-1" class="form-control input-sm">
<option value="624" disabled="disabled" >Video 1</option>
<option value="625" disabled="disabled">Video 2</option>
<option value="626">Video 3</option>
<option value="627" disabled="disabled">Video 4</option>
<option value="628">Video 5</option>
<option value="629">Video 6</option>
<option value="630" disabled="disabled">Video 7</option>
</select>
$(document).ready(function(){
alert($("#v-1").val());
})