【发布时间】:2016-08-24 16:16:56
【问题描述】:
我的 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 以外的状态,那么我似乎无法“取消只读”该字段。
我尝试在$(document).ready(function() { 之后添加以下内容,但这没有奏效。
if ($('#site').val() == '0') {
$('#siteField').prop('readonly', true);
} else {
$('#siteField').prop('readonly', false);
}
在弹出窗口打开时控制台记录 $('#site').val() 显示 UNDEFINED,但有一个下拉设置。
我假设这是因为正在加载值并设置了字段,但我如何在弹出窗口中读取它?
有什么想法吗? 谢谢
【问题讨论】:
标签: jquery select popup readonly