0

私の javascript スキルは最高ではありませんが、最近取り組んでおり、やりたかったことの 1 つは、html オプション タグの属性を設定することでした。プロジェクトを jfiddle に投稿して、少し見やすくしました。ここでそれを見ることができます。私はコードが1行ずれているだけだと思います。

選択した属性をオプション 2 から削除し、選択した属性をオプション 1 に作成するにはどうすればよいですか? つまり、「another-popup」を開くと、オプション 2 ではなくオプション 1 が選択されるようになります。

jsFiddle リンクを確認することをお勧めしますが、この質問にもコードを投稿しました。更新リンクの JavaScript:

function updateSelected(id, removeID, parentID) {
    document.getElementById(parentID).style.display = 'none';
    document.getElementById(id).setAttribute("selected","selected");
    document.getElementById(removeID).removeAttribute("selected")
}

html:

<a href="#box" rel="popup">Popup</a>

<div id="box" class="popup">
<a href="#another-box" rel="popup" onClick="updateSelected("1", "2", "box");">Another box</a>
</div>
<div id="another-box" class="popup">
<form>
    <select>
        <option id="1">option 1</option>
        <option id="2" selected>option 2</option>
    </select>
</form>
</div>

助けてくれてありがとう

4

4 に答える 4

2

選択するエントリを変更するには、属性ではなく.selected プロパティを変更する必要があります。

document.getElementById(id).selected = true;

属性はコントロールの初期値を設定するだけですが、プロパティは現在の値を設定します。

以前に選択した要素からプロパティを削除する必要もありません。(デフォルトでは) 一度に「選択」できる要素は 1 つだけであるため、これは自動的に行われます。

または、.valueエンクロージングのプロパティを目的の要素<select>の値と同じに設定します。<option>値はvalue、要素の属性の値<option>、または属性がない場合は含まれるテキストになりvalueます。

http://jsfiddle.net/alnitak/C98Wc/を参照してください

于 2013-04-02T14:55:06.570 に答える
0

このような:

document.getElementById(id).selected=1;//or true

そしてその逆は

document.getElementById(id).selected=0;//or false

@Alnitak - 訂正していただきありがとうございます。

于 2013-04-02T14:54:16.610 に答える
0

jQuery をずっと使わないのはなぜですか? また、二重引用符内で一重引用符を使用します

フィドル

<a href="#another-box" rel="popup" id="another" >Another box</a>


$(function() {
    $('a[rel*=popup]').leanModal({ top : 200, closeButton: ".popup-close" });       
    $("#another").on("click",function(e) {
        updateSelected("o1","box");
        return false; // cancel click - can be e.preventDefault() instead 
    });


});         
function updateSelected(id, parentID) {
    $("#"+parentID).css("display","none"); // or .hide()
    $("#"+id).prop("selected",true);
}
于 2013-04-02T14:57:47.557 に答える
0

<a>引用符を見て、タグを次のように置き換えてみてください。

<a href="#another-box" rel="popup" onClick="updateSelected('1', '2', 'box');">Another box</a>

二重引用符内で二重引用符を使用することはできません

于 2013-04-02T14:56:55.763 に答える