2013-10-24 39 views
0

計算折扣我展示從選擇框住計算價格和數量通過另一個選擇框,像這樣乘以:從jQuery的選擇值

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

但是,這並不工作,我究竟做錯了什麼?

+0

那麼,什麼是你的問題? – JNDPNT

+0

如何根據select 2的騎手編號更改select1的值? –

回答

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

這看起來像我想要的,我已經添加到我的第一個問題,它似乎並沒有爲我工作,任何想法? –

+0

好吧看起來像問題是:'不支持僞:內容' –

+0

現在它的工作,檢查它 –

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. 
    } 
}