如果我的“remote_server”选项设置为no,我目前正在使用javascript来禁用文本框。这是我现有的代码
HTML
<select name="remote_server" class="required">
<option></option>
<option value="1" <?php if($remote=="1") echo 'selected="selected"'; ?>>Yes</option>
<option value="0" <?php if($remote=="0") echo 'selected="selected"'; ?>>No</option>
</select>
的Javascript
var e = document.getElementsByName("remote_server")[0]
var strUser = e.options[e.selectedIndex].value;
if ( strUser == 0 ) {
document.getElementsByName("ftp_hostname")[0].setAttribute("disabled", "disabled");
document.getElementsByName("ftp_user")[0].setAttribute("disabled", "disabled");
document.getElementsByName("ftp_password")[0].setAttribute("disabled", "disabled");
document.getElementsByName("ftp_mode")[0].setAttribute("disabled", "disabled");
document.getElementsByName("ftp_port")[0].setAttribute("disabled", "disabled");
document.getElementsByName("ftp_directory")[0].setAttribute("disabled", "disabled");
}
是否有一种简单的方法可以将其转换为jquery,以便在选择选项时,文本框是启用还是禁用?
答案 0 :(得分:0)
这样做: -
$('input[name=ftp_user]').attr('disabled', 'disabled');
$('input[name^=ftp_]').attr("disabled", "disabled");
$('input[name^=ftp_]').prop("disabled", "disabled");
OR
$('input[name^=ftp_]').prop("disabled", true);
参考 LIVE DEMO
答案 1 :(得分:0)
试试这个:
$('select[name=remote_server]').change(function(){
var inputs = $('input[name^=ftp_],select[name^=ftp_]');
$(this).val() == "1" ? inputs.prop("disabled", "disabled") : inputs.removeProp("disabled");
});
答案 2 :(得分:0)
如果您要定位输入,请尝试使用此选项:
you can change to select if your html element's name belongs to html's <select> tag
$(document).on('change', 'select[name="remote_server"]', function() {
if ($(this).val() == "1") {
$('input[name^=ftp_]').prop("disabled", true);
} else {
$('input[name^=ftp_]').prop("disabled", false);
}
});