2010-09-26 91 views
2

我有一个表单,当更新某些内容时,我需要在选择输入中更改该项目的名称。我正在使用它来循环选项,但我无法弄清楚如何更改文本值。以下是我试过使用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> 

回答

1

您可以使用基本DOM属性.text<option> element.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

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(); 

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