使用jQuery更新选择选项

时间:2010-09-26 23:34:42

标签: jquery

我有一个表格,当某些内容更新时,我需要在选择输入中更改该项目的名称。我正在使用它循环选项,但我无法弄清楚如何更改文本值。这是我试过的

$('#GroupID option').each(function () {
                    if ($(this).val() == currently_editing_group_id)
                        $(this).attr('text', $('#NewGroupName').val());
                });

这是选择输入

<select id="PracticeGroupID" name="GroupID">
      <option value="5">Test Group 1</option>
      <option value="6">Test Group 2</option>

2 个答案:

答案 0 :(得分:1)

您可以使用<option> element的基本DOM属性.text.value,如下所示:

$('#PracticeGroupID option').each(function () {
  if (this.value == currently_editing_group_id)
    this.text = $('#NewGroupName').val();
});

或者在选择器中:

$("#PracticeGroupID option[value='"+currently_editing_group_id+"']").each(function () {
  this.text = $('#NewGroupName').val();
});

请注意,您需要#PracticeGroupID作为选择器,因为#适用于id而非name

答案 1 :(得分:0)

如果您希望在选择的值更改时执行并执行操作,则应将您的功能绑定到change,即使如此:

<强> HTML

<select id="PracticeGroupID" name="GroupID">
    <option value="5">Test Group 1</option>
    <option value="6">Test Group 2</option>
</select>

<input type="text" id="updateMe" value="" />

<强>的JavaScript

$('#PracticeGroupID').change(function() {
    $('#updateMe').val('PracticeGroupID is ' + $(this).val());    
}).change();

你可以在这里试试:http://jsfiddle.net/bTYWe/