如何使用jquery获取两个选定选项的值?

时间:2011-07-03 02:41:47

标签: jquery

我有以下选择选项:

<select id="optionA">
<option> A </option>
<option> B </option>
<option> C </option>
</select>

<select id="optionB">
<option> D </option>
<option> E </option>
<option> F </option>
</select>

以下jquery代码无法确定每个选定选项的文本值:

<script type="text/javascript">
    $(document).ready(function()
        {
            if($("#optionA").change() || ($("#optionB").change())
            {
                var textA = $(this).find("#optionA option:selected").text();
                var textB = $(this).find("#optionB option:selected").text();
                alert( + textA + " " + textB);
            }
        });
</script>

知道可能是什么问题吗?

4 个答案:

答案 0 :(得分:2)

我建议如下:

<select id="optionA">
  <option value="A"> A </option>
  <option value="B"> B </option>
  <option value="C"> C </option>
</select>

<select id="optionB">
  <option value="D"> D </option>
  <option value="E"> E </option>
  <option value="F"> F </option>
</select>

<script type="text/javascript">
    function selectChanged() {
        var textA = $("#optionA").val();
        var textB = $("#optionB").val();
        alert(textA + " " + textB);
    }

    $(document).ready(function() {
        $("#optionA,#optionB").change(selectChanged);
    });
</script>

示例:http://jsfiddle.net/crnrY/

答案 1 :(得分:0)

你需要编写这样的事件处理程序:

$("#optionA,#optionB").change(function() {
   var textA = $("#optionA").val();
   var textB = $("#optionB").val();
   alert( + textA + " " + textB);
});

答案 2 :(得分:0)

更改事件触发时,

change()将回调函数作为事件处理程序。

您需要将if block中的代码移动到回调函数中。 注意:我还精简了选择器和逻辑,以利用更多的jQuery样式。

$("#optionA, #optionB").change(function() {
    var textA = $("#optionA").val();
    var textB = $("#optionB").val();
    alert(textA + " " + textB);
});

查看实际操作 - http://jsfiddle.net/G4Lpm/1/

答案 3 :(得分:0)

$('#optionA, #optionB').change(function()
{
    alert($('#optionA').val() + ' ' + $('#optionB').val());
});

http://jsfiddle.net/upZKt/1/