选择可见的选项

时间:2013-11-19 03:58:20

标签: javascript jquery html html-select

我有一个HTML动态生成的选择。

当页面加载时,我想让页面加载时选择框有一个变量默认选项,而不必更改选择列表的顺序。

当我动态生成页面时,我无法通过设置value属性来完成这项工作。无论value属性如何,它始终是可见的最高值。

我还希望能够在加载文档后通过jQuery更改它。

这可能吗?

<select class="form-control input-lg" tabindex=1 id="instrument-select" 
                      name="instrument" value="<?php echo $instrument->slug; ?>">
    <?php foreach ($instrument_list as $instrument): ?>
        <option value="<?php echo $instrument['slug']; ?>">
                              <?php echo $instrument["name"]; ?>
        </option>
    <?php endforeach; ?>
</select>

2 个答案:

答案 0 :(得分:3)

我认为你只需要这样做

<select class="form-control input-lg" tabindex=1 id="instrument-select" name="instrument">
    <?php foreach ($instrument_list as $instrument): ?>
        <option value="<?php echo $instrument['slug']; ?>" <?php echo $instrument->slug==$instrument['slug']?'selected="selected"':''; ?>><?php echo $instrument["name"]; ?></option>
    <?php endforeach; ?>
</select>


永远不要将值属性添加到选择,它应该存在于每个选项上,并且只需要选择所需的选项。

答案 1 :(得分:1)

动态创建选择html时,将“selected”属性添加到要选择的选项元素中;

<option value='firstOption'>firstOption</option>
<option value='someOption' selected>Some Option</option>  <!-- this one will be selected -->
<option value='thirdOption'>thirdOption</option>