选择非空的第一个选项

时间:2014-03-02 15:55:27

标签: javascript jquery html

有人知道autoselectselectbox的方法吗?我想要做的是即使有一个blank option,选择框仍然会显示有值的选项。

有没有人知道如何在jquery中做到这一点?

html代码:

<select name="name">
<option></option>
<option>Mark</option>
</select>

<select name="age">
<option></option>
<option>16</option>
</select>

4 个答案:

答案 0 :(得分:2)

这可以帮到你:

<强> HTML:

<select name="name">
<option></option>
<option>Mark</option>
</select>

<select name="age" id='some'>
<option></option>
<option>16</option>
</select>

<强> Jquery的:

$($('#some').children()[1]).attr('selected',true)

答案 1 :(得分:1)

如果您有多个空option,且没有订单,我认为这是最佳解决方案:

jsFiddle Live Demo

我们在这里所做的是,通过each循环检查每个selectbox

 $('select').each(function()
 {

 });

然后在循环内部我们find first选项not empty

$(this).find('option:not(:empty)').first()

并通过prop选择它:

$(this).find('option:not(:empty)').first().prop('selected',true);

所以整个jQuery和Html将是:

的jQuery

  $('select').each(function()
  {
        $(this).find('option:not(:empty)').first().prop('selected',true);
  });

<强> HTML

<select name="name">
    <option></option>
    <option>Mark</option>
</select>
<select name="age">
    <option></option>
    <option>16</option>
    <option>20</option>
    <option></option>
    <option>55</option>
    <option></option>
</select>

答案 2 :(得分:0)

如果您想选择(标记),例如,请执行此操作

,则无需使用javascript执行此操作
<select name="name">
<option></option>
<option selected>Mark</option>
</select>

并在XHTML中:

<select name="name">
<option></option>
<option selected="selected">Mark</option>
</select>

答案 3 :(得分:0)

如果要对页面上的所有select框执行此操作,请使用以下命令:

$(function () {
    $('select').each(function () {
        $(this).find('option').not(':empty()').first().attr('selected', true);
    })
});

它抓取每个select,找到first option not empty(读取:里面有文字)和sets the selected attribute

请参阅fiddle