1

我有 2 个选择框。有没有办法在两者都被选中后执行一个动作?

我希望用户从 2 个选择框中选择一个起点和一个目的地,一旦选择了两个值,我就想显示一个价格。

<label>Suburb</label>
<select id="delivery_from_area" name="delivery[from_area]"><option value="">Select</option>
<option value="1">Atlantic Seaboard</option>
<option value="2">City Bowl</option></select>

<label>Suburb</label>
<select id="delivery_to_area" name="delivery[to_area]"><option value="">Select</option>
<option value="1">Atlantic Seaboard</option>
<option value="2">City Bowl</option></select>

我的尝试

    $("#delivery_from_area").on("change",function(){
         var check1 = $("#delivery_from_area").text();
         var check2 = $("#delivery_to_area").text();
         if(check1!="" && check2!="") {
            var value1 = $("#delivery_from_area option:selected").text();
            var value2 = $("#delivery_to_area option:selected").text();
            //calculate value
        }
   });

$("#delivery_to_area").on("change",function(){
         var check1 = $("#delivery_from_area").text();
         var check2 = $("#delivery_to_area").text();
         if(check1!="" && check2!="") {
            var value1 = $("#delivery_from_area option:selected").text();
            var value2 = $("#delivery_to_area option:selected").text();
            //calculate value
        }
   });
4

2 回答 2

5

您可以有两个事件侦听器,每个选择一个。当其中一个事件被触发时,您只需确认另一个是否已经有值,如果有,则显示价格,如果没有,则忽略并等待其他操作。

例子:

  $("#select1").on("change",function(){
             var value1 = $(this).val();
             var value2 = $("#select2").val();
             if(value2!="" && value1!="") //Check if are both selected
                     //do your stuff
       });

工作示例:jsfiddle.net/pnFx6

于 2013-10-24T14:16:05.377 回答
0
$("#delivery_to_area").on("change",function(){
    if($('#delivery_from_area').text()=='Select' && $('#delivery_to_area').text=='Select')
    {
        alert("please select value in drop down");
    }
    else
    {
        alert("Your calculated value");
    }
});
于 2013-10-24T14:21:12.237 回答