如何在jQuery中更改下拉列表项?

时间:2016-07-26 16:34:17

标签: javascript jquery asp.net

我有一个asp.net的下拉列表。我需要更改一个项目的文本。该列表在数据库中加载了一个表。由于奇怪的可访问性情况,我完成此任务的唯一方法是通过js。

以下是一个示例下拉列表:

<asp:DropDownList ID="myDrop" runat="server" onselectedindexchanged="myDrop_SelectedIndexChanged" AutoPostBack="true">
</asp:DropDownList>

以下是in-HTML项目:

<option value="1">text1</option>
<option value="2">text2</option>
<option value="3">text3</option>

等等。谢谢!

3 个答案:

答案 0 :(得分:1)

您可以使用jquery使用jquery过滤器更改选项的文本 更改第一个选项文本,您可以使用':eq(0)'和第二个':eq(1)'等等

$("#myDrop>option:eq(0)").text('myName'); 

如果您不确定选项的索引,可以使用以下方法

var Arr = $('#myDrop>option');
$.each(Arr,function(i,data){
if($(data).attr('value') == "2"){
$(data).text("changetext")
}
})

答案 1 :(得分:0)

不确定这是不是你的意思。希望它有所帮助。

https://jsfiddle.net/5oed5wrh/

var ddl = document.getElementById('myDrop');
var index = 1;
ddl.options[index].innerText = "Something new";

我不知道你要改变哪个选项,所以我选择了中间选项。如果您尝试更改所有这些,可以通过简单的循环来完成。

此外,如果您使用的是jQuery,则可以使用.text()而不是innerText。我相信innerText是一个IE构造。如果您有跨浏览器兼容性问题,这将有所帮助。

var ddl = document.getElementById('myDrop');
var index = 1;
$(ddl.options[index]).text("Something new");

答案 2 :(得分:0)

正如您特别要求使用jQuery的解决方案:

$('#myDrop option[value="2"]').text("new text")

选择要编辑的选项,然后修改其中的文本。