在一个表单中,如何找到哪个选项有两个选择?_ jQuery

时间:2014-01-05 18:48:53

标签: javascript jquery forms

最近我使用Jquery,有几天我无法解决这个问题:我有一个带有两个select的表单,如下所示:

<form action="#">

<fieldset>
    <h3>Colors</h3>
    <select name="colors" class="colors">
        <option value="green">Green</option>
        <option value="blue">Blue</option>
        <option value="yellow">Yellow</option>
    </select>
</fieldset>

<fieldset>
    <h3>Fruits</h3>
    <select name="fruits" class="fruits">
        <option value="apple">Apple</option>
        <option value="pear">Pear</option>
        <option value="orange">Orange</option>
    </select>
</fieldset>

</form>

我需要知道选择哪个选项后显示。当一个表单只有一个选择时我可以这样做,但在这种情况下(不止一个)我不知道。

有人可以帮我吗?我希望我已经解释清楚,我的英语很差。

非常感谢!

3 个答案:

答案 0 :(得分:1)

这是一种方法:

<form action="#">

<fieldset>
    <h3>Colors</h3>
    <select name="colors" class="colors">
        <option value="green">Green</option>
        <option value="blue">Blue</option>
        <option value="yellow">Yellow</option>
    </select>
    <div id="colordiv"></div>
</fieldset>

<fieldset>
    <h3>Fruits</h3>
    <select name="fruits" class="fruits">
        <option value="apple">Apple</option>
        <option value="pear">Pear</option>
        <option value="orange">Orange</option>
    </select>
    <div id="fruitsdiv"></div>
</fieldset>

</form>

jquery代码将是:

//when page loads
$(document).ready(function(){
    //event handler on change for class colors
    $(".colors").change(function(){
        //get selected value
        var slectedvar=$(this).val();
        //set the div content to show what we selected
        $("#colordiv").html("Selected value: "+slectedvar);
    });
    //event handler on change for class fruits
    $(".fruits").change(function(){
        //get selected value
        var slectedvar=$(this).val();
        //set the div content to show what we selected
        $("#fruitsdiv").html("Selected value: "+slectedvar);
    });    
});

在这里,摆弄一下:

http://jsfiddle.net/nesha8x8/ns8jF/

答案 1 :(得分:0)

你应该能够做到

$("select#id").filter(":selected").val();

所以在你的情况下,如果你想要fruits选择的val,它将是$("select#fruits").filter(":selected").val();

如果你想要颜色,那就是 $("select#colors").filter(":selected").val();

答案 2 :(得分:0)

要获取select标记的值,请在用户提交表单时使用PHP的$_POST变量。要获得名为select的{​​{1}},请致电fruits,并获取$_POST["fruits"] colors标记的值select

对于您的代码,这些代码会显示在您发送表单的页面上,该页面位于$_POST["colors"]标记的action属性中的网址页面上。由于您重定向到的页面是同一页面,这将更难,但有办法做到这一点。你可能最好使用AJAX。