JQuery - 从弹出窗口中获取下拉值

JQuery - get dropdown value from popup

我的 JQuery 加载到我的父级 window。

我正在从父级打开一个包含表单 id='form1'

的弹出窗口 window

表单中有一个下拉列表 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() 当弹出窗口打开时显示未定义,但有一个下拉列表集。

我假设这是因为正在加载值并设置了字段,但是如何在弹出窗口中读取它?

有什么想法吗? 谢谢

确保使用值属性

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

为了获得 0a,您使用 .val() 但是,要获得 0b,您需要使用 .text()

也许这就是你所缺少的