0

一連のドロップダウン ボックスで 1 回だけ数字を使用できるこの小さなスクリプトを作成しようとしていました.. [1] [3] [2] [2] [3] [1] [2] [1] [3 ] すべて問題ありませんが [2] [2] [1] [1] [1] [3] ..

半分はできたと思います。

$("#left").focus(function () {
    // Store the current value on focus, before it changes
    previous = this.value;
}).change(function() {
    // Do soomething with the previous value after the change
    var num1 = $("#left option:selected").text();

    if ( $("#middle option:selected").text() == num1){
    $("#middle option:selected").text(previous)
    }

    if ( $("#right option:selected").text() == num1){
    $("#right option:selected").text(previous)
    }       
});

完全なものへのリンクは次のとおりです。http://jsfiddle.net/U3WSz/

少しは機能しますが、ドロップダウンオプションが変化し始めていることに気付きました。十分にいじってみると、私が見ていることに気付くでしょう。

また、多くのコードを繰り返す方法にも気付きました。もっといい書き方があれば教えてください。

4

2 に答える 2

1

jsフィドル

このようなオプションに値属性を追加します

<option value='2'>2</option>

J:

   $("#left").focus(function () {
    // Store the current value on focus, before it changes
     previous = $(this).val();

    }).change(function () {
    // Do soomething with the previous value after the change
    var num1 = $("#left option:selected").val();

    if ($("#middle option:selected").val() == num1) {
        // $('body').append(previous);
        $("#middle").val(previous)
    }

    if ($("#right option:selected").val() === num1) {
        $("#right").val(previous);
    }
});
于 2013-03-28T22:28:39.290 に答える
0

これを試して

$("#left").focus(function () {
    // Store the current value on focus, before it changes
    previous = this.value;
}).change(function() {
    // Do soomething with the previous value after the change
    var num1 = $("#left option:selected").text();

    if ( $("#middle option:selected").text() == num1){
    $("#middle option[value='"+previous+"']").attr('selected','selected')
    }

    if ( $("#right option:selected").text() == num1){
    $("#right option[value='"+previous+"']").attr('selected','selected')
    }       
});

このコードは、変数の値と等しいオプションをボックス内#middleおよび#right選択ボックスで選択します。valueprevious

于 2013-03-28T21:58:28.907 に答える