3

私はこのJavaScriptコードを持っています:

function change(varam){
    if(confirm("Select this option?"))
    {

    } else {
        if(varam=="1")
        {
            alert("Return selected to NO");
        } else {
            alert("Return selected to YES");
        }
    }

}

そしてHTMLコード:

<select id="sel" name="sel" onchange="change(this.value)">
    <option value="1">YES</option>
    <option value="0">NO</option>
</select>

私が欲しいもの:

選択されたデフォルトがYESであるとします。ユーザーが NO を選択すると、 NOに変更するかどうかの確認ボックスが表示されます。選択が「OK」の場合、オプションNOが選択されます。選択が「CANCEL」の場合、NOオプションは選択されませんが、元に戻ります。YESオプションが選択されます。およびその逆。

このフィドルを参照してください:http://jsfiddle.net/CtxUy/

4

2 に答える 2

1

これらの2つの要素だけが気になる場合は、手動で値を設定できます。

if(varam=="1")
{
    document.getElementById('sel').value = 0;
} else {
    document.getElementById('sel').value = 1;
}

他の値が存在する可能性がある場合は、最初に選択した値を追跡し、確認を拒否したときにセレクター値を元に戻すか、確認した場合はその保存された値を上書きします。

そのように:http://jsfiddle.net/CtxUy/2/

于 2013-02-22T02:09:41.563 に答える
1

オプションを反復して、selected属性を持つものを選択できます。selected何もない場合は、最初のものを選択します (これは、属性がない場合のデフォルトです)。

var select = document.getElementById('sel');
var options = select.options;
options[0].selected = true; // preemptively select the first option

for (var i = 0, l = options.length; i < l; i++) {
    if (options[i].hasAttribute('selected')) {
        options[i].selected = true;
        break;
    }
}

デモ

参照: HTMLSelectElement , HTMLOptionElement.

于 2013-02-22T02:06:16.897 に答える