jquery下拉列表自动提交所有选项,除了一个

时间:2012-05-06 16:54:50

标签: jquery

$(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>

如果选择了一个特定选项,我必须做什么才能自动提交?此外,当选择该选项时,我怎么知道?在这种情况下,我需要透露另一个下拉列表。

4 个答案:

答案 0 :(得分:1)

在你监视事件的jQuery中,你需要先做一些检查才能继续使用submit()。

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

请注意,除非您只想提交一组数据或另一组数据,否则不应将#dropdown2选择放入其自己的表单中。如果您希望将它们放在一起,请将其放在一个表单中。

答案 1 :(得分: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();
        }
    });
});

<强> CSS

#theform2 {
    display: none;
}​

答案 2 :(得分:1)

如果你想对文字进行尝试,即“三”

$(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();
            }
        });
    });

答案 3 :(得分:1)

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

并将css设置为#theform2 {display: none}