Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Взаимосвязь input и select (https://javascript.ru/forum/jquery/65664-vzaimosvyaz-input-i-select.html)

maxg5 01.11.2016 15:09

Взаимосвязь input и select
 
Есть сайт с формой обратной связи и выпадающим меню и текстовым полем.
Если в выпадающем меню выбрано значение Другой тип, то текстовое поле должно быть активно, если выбрано любое другое значение, то текстовое поле должно быт неактивно.
var t;
$(".text-319").attr("disabled","disabled");
t=$(".menu-944").text();
if (t=='Другой тип') {
	$(".text-319").attr("disabled","");
};


Вот ссылка на форму, что бы было понятнее.
Если поле Тип организации куда нужна справка имеет значение Другой тип, топ поле Название организации активно. Если выбрано любое другое значение, поле не активно.

рони 01.11.2016 15:30

maxg5,
$(function()
      {
        $('[name="menu-944"]').on('change', function()
          {
            this.value == 'Другой тип'? $('[name="text-319"]').removeAttr('disabled'): $('[name="text-319"]').prop(
                {'disabled': true}
              )
          }
        ).trigger('change')
      }
    );

maxg5 04.11.2016 11:37

А если написать такой код:
$('[name="menu-944"]').change(function() {
    var result = $(this).val();
    if (result=='Другой тип') {
        $('[name="text-319"]').css("border-color", "blue");
        $('[name="text-319"]').prop(
         {'disabled': false}
        )
    } else {
        $('[name="text-319"]').css("border-color", "red");
        $('[name="text-319"]').prop(
           {'disabled': true}
         )
    }
});

Как сделать так, что бы код срабатывал сразу при загрузке страницы сайта?

рони 04.11.2016 11:42

maxg5,
$(function() {
$('[name="menu-944"]').change(function() {
    var result = $(this).val();
    if (result=='Другой тип') {
        $('[name="text-319"]').css("border-color", "blue");
        $('[name="text-319"]').prop(
         {'disabled': false}
        )
    } else {
        $('[name="text-319"]').css("border-color", "red");
        $('[name="text-319"]').prop(
           {'disabled': true}
         )
    }
}).trigger('change');

});


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