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()
也许这就是你所缺少的
我的 JQuery 加载到我的父级 window。
我正在从父级打开一个包含表单 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()
当弹出窗口打开时显示未定义,但有一个下拉列表集。
我假设这是因为正在加载值并设置了字段,但是如何在弹出窗口中读取它?
有什么想法吗? 谢谢
确保使用值属性
<option value="0a">0b</option>
为了获得 0a,您使用 .val() 但是,要获得 0b,您需要使用 .text()
也许这就是你所缺少的