24.07.2017, 19:20
|
Аспирант
|
|
Регистрация: 16.04.2016
Сообщений: 74
|
|
не работают скрипты на планшете и телефоне.
Есть скрипт:
$("#sdelka").click(function() {
if($( "#sdelka" ).val() == 0){
$( ".hd1").css('display', 'block');
$( ".hd2").css('display', 'none');
$('#pp').attr('disabled',false);
}else{
$('#pp').attr('disabled',false);
$( ".hd2").css('display', 'block');
$( ".hd1").css('display', 'none');
}
});
это зависимость двух select
<div class="col-md-3 col-sm-6 col-xs-12">
<select id="sdelka" class="sel" name="rent_buy">
<option value=""><?php echo Yii::t('common', 'Sale/Rent')?></option>
<option value="0"><?php echo Yii::t('common', 'Rent')?></option>
<option value="1"><?php echo Yii::t('common', 'Sale')?></option>
</select>
</div>
<div class="col-md-3 col-sm-6 col-xs-12">
<select disabled="disabled" id="pp" class="sel" name="type">
<option value=""><?php echo Yii::t('common', 'Property type')?></option>
<option class="hd1" value="1"><?php echo Yii::t('common', 'Villa/Home')?></option>
<option class="hd1" value="2"><?php echo Yii::t('common', 'Condo/Apartments')?></option>
<option class="hd1" value="3"><?php echo Yii::t('common', 'Bungalo')?></option>
<option class="hd2" value="4"><?php echo Yii::t('common', 'Villa/Home')?></option>
<option class="hd2" value="5"><?php echo Yii::t('common', 'Condo/Apartments')?></option>
<option class="hd2" value="6"><?php echo Yii::t('common', 'Project')?></option>
<option class="hd2" value="7"><?php echo Yii::t('common', 'Commercial')?></option>
<option class="hd2" value="8"><?php echo Yii::t('common', 'Land')?></option>
</select>
</div>
кто что подскажет? на компьютере все работает.
рабочий пример тут:
http://site.artem55555p.ru/ru/main/index
вот эти два select http://c2n.me/3Mo4c1n
|
|
24.07.2017, 19:32
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Во-первых так:
$("#sdelka").change(function() {
var v = +this.value;
$( ".hd1").css('display', ['block', 'none'][v]);
$( ".hd2").css('display', ['none', 'block'][v]);
//$('#pp').attr('disabled',false);$('#pp').prop('disabled', false); зачем это задавать, если и в противном случае тоже false, ошибки нет, может так:
$('#pp').prop('disabled', v); //то есть все таки изменяет состояние?
});
Во-вторых что не работает?
|
|
24.07.2017, 19:37
|
Аспирант
|
|
Регистрация: 16.04.2016
Сообщений: 74
|
|
у менЯ значение 0 и 1
вы скинули код, теперь если выбрать где значение 1 селект имеет disabled
Последний раз редактировалось artem55555p, 24.07.2017 в 19:39.
|
|
24.07.2017, 19:37
|
Аспирант
|
|
Регистрация: 16.04.2016
Сообщений: 74
|
|
на телефоне и планшете это не работало
|
|
24.07.2017, 19:41
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от artem55555p
|
теперь если выбрать где значение 0 селект имеет disabled
|
Да, если нужно обратное, значит так - $('#pp').prop('disabled', !v);
Вы посмотрите на свой код, у вас в обеих условиях $('#pp').attr('disabled',false);, а мне тем боле откуда знать, чего вам вообще нужно.
|
|
24.07.2017, 19:44
|
Аспирант
|
|
Регистрация: 16.04.2016
Сообщений: 74
|
|
мне нужно чтобы при выборе 1 или 0 disabled убирался
|
|
24.07.2017, 20:02
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от artem55555p
|
мне нужно чтобы при выборе 1 или 0 disabled убирался
|
А когда тогда чтобы был? Еще раз, вы гляньте на свой код, у вас опции имеют три значения: пустое, 0 и 1. Условие вашего кода определяет если = 0, то false, иначе также false. Нахрена тогда вообще что-то менять?
Если любой выбор в этом списке делает доступным второй список, который по умолчанию, к примеру, недоступен, то сразу, без всяких условий и прописывайте disabled false.
И может убрать опцию с пустым значением? Не видно, чтобы она что-то определяла.
Последний раз редактировалось laimas, 24.07.2017 в 20:22.
|
|
25.07.2017, 09:11
|
Аспирант
|
|
Регистрация: 16.04.2016
Сообщений: 74
|
|
мне нужно чтобы при выборе 1 или 0 disabled убирался. выбрал 0 в select отображены .hd1 поля с этим классом. выбрал 1 с .hd2
|
|
25.07.2017, 09:17
|
Аспирант
|
|
Регистрация: 16.04.2016
Сообщений: 74
|
|
var v = +this.value;
$( ".hd1").css('display', ['block', 'none'][v]);
$( ".hd2").css('display', ['none', 'block'][v]);
if(v == 0){
$('#pp').prop('disabled', v);
}
так сделал
|
|
25.07.2017, 09:30
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
А если не равно 0, тогда что?
|
|
|
|