0
$(function () {
        $("#dropdown").live("change keyup", function () {
            $("#theform").submit();
        });
    });

<form method="GET" id="theform" action="">
            <select name="dropdown" id="dropdown">
                <option value="1">One</option>
                <option value="2">Two</option>
                <option value="3" id="nosubmit">Three</option>
            </select>
        </form>

オプション3が選択されている場合、(フォームを送信せずに)別のドロップダウンを表示したい:

<form method="GET" id="theform2" action="">
            <select name="dropdown2" id="dropdown2">
                <option value="4">Four</option>
                <option value="5">Five</option>
                <option value="6">Six</option>
            </select>
        </form>

特定のオプションが1つ選択されている場合、自動送信しないようにするにはどうすればよいですか?また、そのオプションが選択されている場合、どうすればわかりますか?その場合、別のドロップダウンを表示する必要があります。

4

4 に答える 4

1

イベントを監視するjQueryでは、submit()を続行する前に、少しチェックする必要があります。

$(function () {
    $("#dropdown").live("change keyup", function () {
        if($(this).val() != 3)
        {
            $("#theform").submit();
        }
        else
        {
            $("#dropdown2").show();
        }
    });
});

いずれかのデータセットのみを送信する場合を除いて、#dropdown2selectを独自のフォームに入力しないでください。すべてをまとめたい場合は、1つのフォームに入れてください。

于 2012-05-06T17:00:19.817 に答える
1

これを試してください:http://jsfiddle.net/LYdat/

HTML

<form method="GET" id="theform" action="">
    <select name="dropdown" id="dropdown">
        <option value="1">One</option>
        <option value="2">Two</option>
        <option value="3" id="nosubmit">Three</option>
    </select>
</form>

<form method="GET" id="theform2" action="">
    <select name="dropdown2" id="dropdown2">
        <option value="4">Four</option>
        <option value="5">Five</option>
        <option value="6">Six</option>
    </select>
</form>​

JS

$(function () {
    $("#dropdown").live("change keyup", function () {
        if($(this).val() == '3') {
            $('#theform2').show();
        } else {
            $('#theform2').hide();
            $("#theform").submit();
        }
    });
});

<strong> CSS

#theform2 {
    display: none;
}​
于 2012-05-06T17:02:09.863 に答える
1

テキスト、つまり「Three」でやりたい場合は、これを試してください

$(function () {
        $("#dropdown").live("change", function () {
            if($("#dropdown :selected").text() == "Three")
            {
                $("#dropdown2").hide();
                return false;
            }
            else
            {
               $("#theform").submit();
            }
        });
    });

値、つまり「3」でやりたい場合は、これを試してください

 $(function () {
        $("#dropdown").live("change", function () { 
            if($(this).val() == "3")      
            {
                $("#dropdown2").hide();
                return false;
            }
            else
            {
               $("#theform").submit();
            }
        });
    });
于 2012-05-06T17:04:25.743 に答える
1
$("body").on("change keyup", "#dropdown", function () {
            if(this.value == 3) {
               $('#theform2').show();
            } else {
               $('#theform2').hide();
               $("#theform").submit();
            }
});

cssをに設定します#theform2 {display: none}

于 2012-05-06T17:05:57.740 に答える