2016-08-24 2 views
0

My JQuery загружается в родительском окне.JQuery - получить выпадающее значение из всплывающего окна

От родителей я открываю всплывающее окно, которое содержит форму id='form1'

В форме есть выпадающий список id='site'. С учетом того, что это установлено, я устанавливаю поле ввода как только для чтения или нет. По умолчанию вход только для чтения. Изменение выпадающего списка, значение которого не равно 0, удаляет только чтение.

$('body').on('change', '#site', function(){ 
    if ($(this).val() == '0') {  
     $('#siteField').prop('readonly', true); 
    } else { 
     $('#siteField').prop('readonly', false); 
    } 
}); 

<input type='text' id='siteField' name='siteField' value='<?php echo $site?>' readonly> 

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

Однако, когда всплывающая страница загружается, если выпадающее меню задано в состоянии, отличном от 0, то я, похоже, не могу «un readonly» этого поля.

Я попытался добавить следующее после $(document).ready(function() {, но это не сработало.

if ($('#site').val() == '0') { 
    $('#siteField').prop('readonly', true); 
} else { 
    $('#siteField').prop('readonly', false); 
} 

консоль каротаж $('#site').val() как всплывающее окно открывается шоу неопределенно, но есть раскрывающийся набор.

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

Любые идеи? Благодаря

ответ

1

Убедитесь, что вы используете атрибут значение

<option value="0a">0b</option> 

Для того, чтобы получить 0a использовать .val() однако, чтобы получить 0b вам нужно использовать .text()

Может быть это то, что вам не хватает

+0

Спасибо Я использую 'val()', но он не загружает значение. – Tom

+0

Можете ли вы подтвердить просмотр кода, отображаемого html, который установлен там? – barha

+0

Да, есть значение. – Tom

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