#jquery
#jquery
Вопрос:
Я изменил атрибут цены при выборе изменения.
Как я могу вернуть его к нормальной цене при условии else?
jQuery( document ).ready(function( $ ) {
$('#select_1').on('change', function() {
var visit_time_val=$(this).val();
if(visit_time_val==93 || visit_time_val==95)
{
var adult_price=26;
var child_price=10;
$('#select_15 option:nth-child(2)').attr("price",adult_price);
$('#select_15 option:nth-child(3)').attr("price",adult_price*2);
$('#select_15 option:nth-child(4)').attr("price",adult_price*3);
$('#select_15 option:nth-child(5)').attr("price",adult_price*4);
$('#select_3 option:nth-child(2)').attr("price",child_price);
$('#select_3 option:nth-child(3)').attr("price",child_price*2);
$('#select_3 option:nth-child(4)').attr("price",child_price*3);
}
else
{
//back to prices setted in db
}
});
});
Комментарии:
1. Не могли бы вы опубликовать коды, которые вы пробовали в блоке else?
Ответ №1:
Попробуйте это :
var previous;
$("#select_1").one('focus', function () {
// Store the current value on focus and on change
previous = this.value;
}).change(function() {
var visit_time_val=$(this).val();
if(visit_time_val==93 || visit_time_val==95)
{
var adult_price=26;
var child_price=10;
$('#select_15 option:nth-child(2)').attr("price",adult_price);
$('#select_15 option:nth-child(3)').attr("price",adult_price*2);
$('#select_15 option:nth-child(4)').attr("price",adult_price*3);
$('#select_15 option:nth-child(5)').attr("price",adult_price*4);
$('#select_3 option:nth-child(2)').attr("price",child_price);
$('#select_3 option:nth-child(3)').attr("price",child_price*2);
$('#select_3 option:nth-child(4)').attr("price",child_price*3);
}
else
{
//back to prices setted in db
$(this).val(previous );
}
});
Комментарии:
1. я хочу //вернуться к исходным #select_15 и #select_3
2. присвоите одному из этих значений после загрузки страницы значение «предыдущий» и не меняйте его в фокусе, как я.
Ответ №2:
Вы можете сохранить значение в атрибутах данных тега Select, чтобы вы могли использовать это значение.
<select id="select_1" data-selectedvalue="10">
<option>1</option>
<option>2</option>
<option>3</option>
<option selected>10</option>
</select>
jQuery( document ).ready(function( $ ) {
$('#select_1').on('change', function() {
var visit_time_val=$(this).val();
if(visit_time_val==93 || visit_time_val==95)
{
var adult_price=26;
var child_price=10;
$('#select_15 option:nth-child(2)').attr("price",adult_price);
$('#select_15 option:nth-child(3)').attr("price",adult_price*2);
$('#select_15 option:nth-child(4)').attr("price",adult_price*3);
$('#select_15 option:nth-child(5)').attr("price",adult_price*4);
$('#select_3 option:nth-child(2)').attr("price",child_price);
$('#select_3 option:nth-child(3)').attr("price",child_price*2);
$('#select_3 option:nth-child(4)').attr("price",child_price*3);
}
else
{
$(this).val($(this).data("selectedvalue"));
}
});
});