0

我从选择框中显示实时计算的价格,并将金额乘以另一个选择框,如下所示:

$('#tour_type').change(function(){
$('#price').val($("#tour_type option:selected").val());
});

我的选择:

<option selected="" value="">Select a Tour</option>
<option value="3900">3 Hour Tour</option>
<option value="5900">Full Day Tour</option>
<option value="11800">2 Day Tour</option>

值乘以:

<option selected="" value="">Select Riders</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>

我要做的是根据骑手的数量(选择 2)从选择 1 中减少一些值

例如:

选择 3 小时游 | 1-3 名车手价值为 3900 | 4-6 位车手价值为 3400 | 等等

选择全日游 | 1-3 骑手价值为 5900 | 4-6 骑手价值为 5100 | 等等

如何根据来自 select2 的值更改 select1 的值?

通过给出的答案,我尝试了这个:

$("#riders").change(function(){

    if($("#riders").val()=="1" || $("#riders").val()=="2" || $("#riders").val()=="3")
    {
   $('#tourtype option:content("3 Hour Tour")').attr('value', '1000');
   $('#tourtype option:content("Full Day Tour")').attr('value', '2000');
   $('#tourtype option:content("2 Day Tour")').attr('value', '3000');
    }
  else if($("#riders").val()=="4" || $("#riders").val()=="5" || $("#riders").val()=="6")
    {
   $('#tourtype option:content("3 Hour Tour")').attr('value', '4000');
   $('#tourtype option:content("Full Day Tour")').attr('value', '5000');
   $('#tourtype option:content("2 Day Tour")').attr('value', '6000');
    }
    });

<select name="tourtype" id="tourtype">
  <option value="3900">3 Hour Tour</option>
  <option value="5900">Full Day Tour</option>
  <option value="11800">2 Day Tour</option>
</select>

<select name="riders" id="riders">
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
  <option value="5">5</option>
  <option value="6">6</option>
  <option value="7">7</option>
  <option value="8">8</option>
  <option value="9">9</option>
</select>

但这不起作用,我在这里做错了什么?

4

2 回答 2

1

使用基于 Riders 编号的 switch 语句。

function calculateDiscount() {
  switch ($(RIDERS_SELECT).val()) {
    case 1: 
    case 2: 
    case 3: 
      return 500;
    case 4: 
    case 5: 
    case 6: 
      return 800;
    // etc. 
  }
}
于 2013-10-24T14:03:43.813 回答
1

你可以做这样的事情

       $(document).ready(function()
{
    $('#riders').on("change", function()
    {
    alert("hie");
       if($("#riders").val()=="1" || $("#riders").val()=="2" || $("#riders").val()=="3")

    {
    $("#tourtype option").each(function() {
    if($(this).text()=="3 Hour Tour")
    {
    $(this).attr('value', '1000');
    }
    else if($(this).text()=="Full Day Tour")
    {
    $(this).attr('value', '2000');
    }

    else
    {
    $(this).attr('value', '3000');
    }
    console.log($(this).text());
});

    }
    else if($("#riders").val()=="4" || $("#riders").val()=="5" || $("#riders").val()=="6")
    {
    $("#tourtype option").each(function() {
    if($(this).text()=="3 Hour Tour")
    {
    $(this).attr('value', '4000');
    }
    else if($(this).text()=="Full Day Tour")
    {
    $(this).attr('value', '5000');
    }

    else
    {
    $(this).attr('value', '6000');
    }
    console.log($(this).text());
});
    }
    else
    {
    alert("hie3");
   $("#tourtype option").each(function() {
    if($(this).text()=="3 Hour Tour")
    {
    $(this).attr('value', '7000');
    }
    else if($(this).text()=="Full Day Tour")
    {
    $(this).attr('value', '8000');
    }

    else
    {
    $(this).attr('value', '9000');
    }
    console.log($(this).text());
});
    }
    });
});
于 2013-10-24T14:12:29.730 回答