3

javascript を使用して、選択ボックス内の行または値を置き換えることが可能かどうかを知りたかったのです。注: 選択ボックスには、最初から JavaScript が動的に入力されています。

すなわち。

[SELECT BOX]
Apples
Oranges
Pears
Strawberries
Kiwi

(Oranges) を Mangos に置き換えると、新しいリストは次のようになります。

[SELECT BOX]
Apples
Mangos
Pears
Strawberries
Kiwi
4

3 に答える 3

2

jQuery の使用。フィルター。jsfiddle

 $("select option").filter(function(){
   return $.trim(this.innerHTML) == "Oranges"; 
}).html("Mangos");​
于 2012-10-04T19:04:07.883 に答える
1

特にjQueryの使用にオープンな場合は、これを行うためのより良い方法があるかもしれませんが、OPからは明確ではなかったため、純粋なjavascriptソリューションを次に示します.

HTML

<select id="fruit">
    <option value="Apples">Apples</option>
    <option value="Oranges">Oranges</option>
    <option value="Pears">Pears</option>
    <option value="Strawberries">Strawberries</option>
    <option value="Kiwi">Kiwi</option>
</select>​​​​​​​​​​​​​​

ジャバスクリプト

​var el = document.getElementById("fruit");

for(var i=0; i < el.options.length; i++){
    if(el.options[i].value == "Oranges"){
        el.options[i].value = "Mangos";
        el.options[i].innerText = "Mangos";        
    } 
}

于 2012-10-04T19:02:15.120 に答える
0
    jQuery(function () { // fire when DOM ready
        jQuery("select:eq(0)").find("option").each(function () { // for loop
            if (jQuery(this).text().indexOf("Oranges") > -1) { // check text with current option
                jQuery(this).text("Mangos"); // set net text
                jQuery(this).val("mangos"); // set new value
            }
        });
    });

ネイティブ JavaScript:

var elem = document.getElementsByTagName("select")[0].getElementsByTagName("option");
    for (var i = 0; i < elem.length; i++) {
        if (elem[i].innerHTML.indexOf("Oranges") > -1) {
            elem[i].innerHTML = "Mangos";
            elem[i].value = "mangos";
    }
}
于 2012-10-04T18:59:04.260 に答える