2016-07-26 5 views
0

Ich habe eine Dropdown-Liste für asp.net. Ich muss den Text eines Artikels ändern. Die Liste wird mit einer Tabelle in einer Datenbank geladen. Wegen einer seltsamen, seltsamen Situation der Zugänglichkeit kann ich diese Aufgabe nur durch js erledigen.Wie ändere ich einen Dropdown-Listeneintrag in jQuery?

Hier ein Beispiel Dropdown:

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

Hier sind die in-HTML-Elemente:

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

und so weiter. Vielen Dank!

Antwort

0

Wie Sie speziell für eine Lösung gefragt haben mit jQuery:

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

Wählen Sie die Option, die Sie bearbeiten möchten, und dann den Text in ihm zu ändern.

0

Nicht sicher, ob das gemeint ist. Ich hoffe es hilft.

https://jsfiddle.net/5oed5wrh/

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

Ich weiß nicht, welche Option Sie versuchen, so zu ändern, nahm ich nur die mittleren. Wenn Sie versuchen, alle zu ändern, können Sie dies mit einer einfachen Schleife tun.

Wenn Sie jQuery verwenden, können Sie auch .text() anstelle von innerText verwenden. Ich glaube, InnerText ist ein IE-Konstrukt. Es hilft, wenn Sie Probleme mit der Browserkompatibilität haben.

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

Sie verwenden Sie können jquery ändern den Text Option mit Jquery Filter zur ersten Option Text ändern können ': eq (0)' und für die zweite ': eq (1)' und so weiter

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

, wenn Sie die folgende Vorgehensweise verwendet werden kann nicht sicher mit der Indizierung der Option sind

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