我有一个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>
等等。谢谢!
答案 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")
选择要编辑的选项,然后修改其中的文本。