Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   не работают скрипты на планшете и телефоне. (https://javascript.ru/forum/dom-window/69872-ne-rabotayut-skripty-na-planshete-i-telefone.html)

artem55555p 24.07.2017 19:20

не работают скрипты на планшете и телефоне.
 
Есть скрипт:
$("#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

laimas 24.07.2017 19:32

Во-первых так:

$("#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); //то есть все таки изменяет состояние?   
});


Во-вторых что не работает?

artem55555p 24.07.2017 19:37

у менЯ значение 0 и 1
вы скинули код, теперь если выбрать где значение 1 селект имеет disabled

artem55555p 24.07.2017 19:37

на телефоне и планшете это не работало

laimas 24.07.2017 19:41

Цитата:

Сообщение от artem55555p
теперь если выбрать где значение 0 селект имеет disabled

Да, если нужно обратное, значит так - $('#pp').prop('disabled', !v);

Вы посмотрите на свой код, у вас в обеих условиях $('#pp').attr('disabled',false);, а мне тем боле откуда знать, чего вам вообще нужно.

artem55555p 24.07.2017 19:44

мне нужно чтобы при выборе 1 или 0 disabled убирался

laimas 24.07.2017 20:02

Цитата:

Сообщение от artem55555p (Сообщение 459463)
мне нужно чтобы при выборе 1 или 0 disabled убирался

А когда тогда чтобы был? Еще раз, вы гляньте на свой код, у вас опции имеют три значения: пустое, 0 и 1. Условие вашего кода определяет если = 0, то false, иначе также false. Нахрена тогда вообще что-то менять?

Если любой выбор в этом списке делает доступным второй список, который по умолчанию, к примеру, недоступен, то сразу, без всяких условий и прописывайте disabled false.

И может убрать опцию с пустым значением? Не видно, чтобы она что-то определяла.

artem55555p 25.07.2017 09:11

мне нужно чтобы при выборе 1 или 0 disabled убирался. выбрал 0 в select отображены .hd1 поля с этим классом. выбрал 1 с .hd2

artem55555p 25.07.2017 09:17

var v = +this.value;
        $( ".hd1").css('display', ['block', 'none'][v]);
        $( ".hd2").css('display', ['none', 'block'][v]);
		if(v == 0){
			$('#pp').prop('disabled', v);
		}


так сделал

laimas 25.07.2017 09:30

А если не равно 0, тогда что?


Часовой пояс GMT +3, время: 23:13.