如何接受来自两个文本框之一的输入

时间:2017-08-21 14:39:01

标签: javascript c# jquery

我正在处理一个页面,当选中一个复选框时,该页面只接受来自两个文本框之一的输入。我尝试为第一个禁用第二个文本框的文本框创建一个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;
}

2 个答案:

答案 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#一样。