2014-07-24 4 views
-3

Привет всем У меня есть проблема с JQuery:JQuery, если еще кнопка вопрос

в моем коде у меня есть два выбора нескольких один на левой стороне один справа и кнопки возле отбора на право и я, когда щелкните по нему, текст справа скопирован на вход, это уже сделано. Я могу добавить или удалить элемент из списка в другой с помощью двух кнопок: добавить и удалить. надеюсь, что я ясно

когда текст copiedinto вход я не могу переместить его больше, если другой текст не копируется Повсеместно кнопки возле выбора:

вот мой JQuery код:

if($('#rightoption:selected').val() === $("#chosen").val()) 
{ 
    $('#remove').attr('disabled' ,'disabled'); 
} 
else ($('#right option:selected').val() !==$("#chosen").val()) 
{ 
    $('#remove').removeAttr('disabled'); 
} 

выбрано id для входа.

, но проблема в том, что, когда я выбираю что-то другое от того, что на входе он все еще отключен кнопку удалить

+0

Опубликовать свою структуру html dom – dreamweiver

+3

Вы пропустили 'if' во втором состоянии. – byJeevan

+0

Это точная копия вашего Javascript? – alexalexandresq

ответ

3

Это:

else ($('#right option:selected').val() !==$("#chosen").val()) 
{ 
    $('#remove').removeAttr('disabled'); 
} 

эквивалентно

else { 
    $('#right option:selected').val() !==$("#chosen").val(); // this does nothing 
} 
$('#remove').removeAttr('disabled'); 

You возможно, требуется

if($('#right option:selected').val() === $("#chosen").val()){ 
    $('#remove').attr('disabled' ,'disabled'); 
} else { 
    $('#remove').removeAttr('disabled'); 
} 

или лучше:

$('#remove').prop(
    'disabled', $('#right option:selected').val() === $("#chosen").val() 
); 

И я полагаю, что первый тест должен иметь '#right option:selected' (обратите внимание на пробел).

+0

где он отличается от того, что я сделал? в результате получается одно и то же право? – Ynajar

+0

@Ynajar - Это довольно хорошо объяснено в ответе, в основном вы не делаете вообще то, что, по вашему мнению, оно делает, и проверяете что-то, тогда проверка на противоположное в выражении else является излишним, инструкция else делает это в любом случае , – adeneo

+0

да, вы правы, но если я делаю else без каких-либо условий, и только скобка с удалением не сработает, тогда как я считаю, что это правильно. – Ynajar

Смежные вопросы