使用jQuery将每个下拉选项的文本添加为​​其值

时间:2016-02-25 11:56:18

标签: jquery

我正在使用jQuery load()函数来加载包含多个选择菜单的HTML文件

<select multiple>
<optgroup label="optgroup1">   
<option>A</option>
<option>B</option>
<option>C</option>
</optgroup>
</select>

(实际代码中还有其他optgroups和选项)

在回调中,我想为每个<option>添加一个等于文本值的值,所以最终的HTML将是:

<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>

我最接近的是

$("option").each(function() {
    $("option").attr('value', $(this).text());
});

不幸的是,当我检查代码时,我发现这是将最后一个选项中的文本添加到每个值中:

<option value="A">C</option>
<option value="B">C</option>
<option value="C">C</option>

我该怎么做?

1 个答案:

答案 0 :(得分:1)

试试这个

$("option").each(function() {
    $(this).attr('value', $(this).text());
});