我正在处理一个页面,当选中一个复选框时,该页面只接受来自两个文本框之一的输入。我尝试为第一个禁用第二个文本框的文本框创建一个TextChanged事件,但它不起作用。这是我的文本框代码,提前谢谢!
function initSurchargeFields() {
var $chk = $("#chkSurcharge");
$chk.click(chkSurcharge_onclick);
var $txt = $("#txtSurcharge");
var $txta = $("#txtSurcharge1");
if (!$chk[0].checked) {
$txt[0].disabled = "disabled";
$txta[0].disabled = "disabled";
}
}
function chkSurcharge_onclick(event) {
var $txt = $get("txtSurcharge");
var $txta = $get("txtSurcharge1");
$txt.disabled = this.checked ? "" : "disabled";
$txta.disabled = this.checked ? "" : "disabled";
if (this.checked) {
txt.focus();
}
protected void txtSurcharge_TextChanged(object sender, EventArgs e)
{
txtSurcharge1.Enabled = false;
}
答案 0 :(得分:0)
你正在使用jQuery:
要检查是否选中了复选框,您需要:
$("#chkSurcharge").is(":checked")
要设置属性值,您需要:
$("#txtSurcharge").prop("disabled",true);
答案 1 :(得分:0)
可以切换"禁用"使用jquery .prop的属性。对于{"禁用"等属性,这是.attr的替代方法。可以使用布尔值切换。
此外,您需要正确设置onclick事件处理程序。我用jquery .on完成了这个。
function initSurchargeFields() {
var $chk = $("#chkSurcharge");
$chk.on('click', chkSurcharge_onclick);
var $txt = $("#txtSurcharge");
var $txta = $("#txtSurcharge1");
if (!$chk.is(':checked')) {
$txt.prop('disabled', true);
$txta.prop('disabled', true);
}
}
function chkSurcharge_onclick(event) {
var $txt = $("#txtSurcharge");
var $txta = $("#txtSurcharge1");
$txt.prop('disabled', !this.checked);
$txta.prop('disabled', !this.checked);
if (this.checked) {
$txt.focus();
}
}
提示:确保您在使用Chrome或IE开发人员工具设置断点并在编码时调试javascript。它就像在visual studio中调试c#一样。