1

有清单。

<select id="select_box">
  <option>Select State</option>
  <option value='state1'>State 1<option>
  <option value='state2'>State 2<option>
</select>

如何将文本“选择状态”的值设置为“-1”,即列表变为

<select id="select_box">
  <option value='-1'>Select State</option>
  <option value='state1'>State 1<option>
  <option value='state2'>State 2<option>
</select>

我努力了

$('#select_box')
    .find('Select State')
    .remove()
    .end()
    .append('<option value="-1">Select State</option>');

但是,由于上面的代码,它显示在选择框的末尾。我要维持秩序。

提前致谢。

4

5 回答 5

0

或者

$("select_box option:first-child").attr('value', '-1');

http://jsfiddle.net/nm2c9/

于 2012-12-28T10:28:04.753 回答
0

尝试循环所有选项并检查内部文本并替换值

$('#select_box option').each(function()
{
    if($(this).text()=="Select State"){
       $(this).val("-1");
    }
});
于 2012-12-28T10:29:28.310 回答
0

为什么不只是...

$('#select_box')[0].options[0].value = -1;

...因为您可以更新value<option>元素的属性(实际上,这比删除前一个元素,然后添加一个新元素要好得多)。

于 2012-12-28T10:22:46.217 回答
0

使用 jQuery,您可以随时使用

$('#select_box option:first').val('-1');

于 2012-12-28T10:23:39.340 回答
0

您可以使用以下代码查找请求的元素:

var $option = $('#select_box').find('option:contains("Select State")');

之后,您可以更改元素的值:

$option.val('-1');
于 2012-12-28T11:01:21.183 回答