Я показываю текущую расчетную цену из окна выбора и умножая сумму на другой поле выбора:
$('#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 | и т.п.
Как изменить значения select1 на основе значения из select2?
Через данные ответы я пробовал:
$("#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>
Но это не работает, что я делаю неправильно здесь?
Вы можете сделать что-то подобное
$(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());
});
}
});
});
unsupported pseudo: content
Используйте оператор switch на основе номера Riders.
function calculateDiscount() {
switch ($(RIDERS_SELECT).val()) {
case 1:
case 2:
case 3:
return 500;
case 4:
case 5:
case 6:
return 800;
// etc.
}
}