функция jquery должна скрывать / показывать поле при загрузке страницы в зависимости от установленного значения радио

#jquery #radio-button #onload #checked

#jquery #переключатель #onload #проверено

Вопрос:

У меня есть следующая настройка jsfiddle:

http://jsfiddle.net/eyTBZ/2/

В принципе, почти все работает, кроме момента загрузки страницы, и если установлено значение audi, тогда механизм div должен быть скрыт (или, если значение не является audi, div должен отображаться). Любая помощь в получении этой работы была бы оценена.

Спасибо

Ответ №1:

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

 $(document).ready(function(){
    $("#engine").hide();
    $("input[name$='cartype']").click(function(){
        var value = $(this).attr('id');
        alert(value);
        if(value!='audi') {
            $("#engine").show();
        }else if(value=='audi') {
            $("#engine").hide();
        }
    });
});
  

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

Комментарии:

1. Нет проблем. Он, безусловно, сделал больше для исправления ошибок 🙂

Ответ №2:

http://jsfiddle.net/eyTBZ/5/

Я обновил их.

  1. В значении радио использовались фактические значения.
  2. нажмите (), чтобы изменить ()
  3. Вызвал change () в начале, чтобы вызвать эффект изменения, прежде чем что-либо делать

Комментарии:

1. Упс, только что понял, мне нужно основывать проверки на id вместо имени, возможно ли это?

2. Не беспокойтесь, понял: var value = $(«input: radio [name $ =’cartype’]:checked»).attr(‘id’); должен использовать id только из-за того, как структурировано приложение. Спасибо за вашу помощь