代码之家  ›  专栏  ›  技术社区  ›  Jhorra

使用jquery更新select选项

  •  2
  • Jhorra  · 技术社区  · 14 年前

    我有一个表单,当更新某些内容时,我需要在选择输入中更改该项的名称。我使用这个循环遍历选项,但是我很难理解如何更改文本值。这是我试过的

    $('#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 回复  |  直到 14 年前
        1
  •  1
  •   Nick Craver    14 年前

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

    $('#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 .

        2
  •  0
  •   xmarcos    14 年前

    如果要在选择的值 变化 ,应将函数绑定到 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/