Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery禁用输入不工作_Javascript_Jquery_Html - Fatal编程技术网

Javascript jQuery禁用输入不工作

Javascript jQuery禁用输入不工作,javascript,jquery,html,Javascript,Jquery,Html,我在一个页面上有一些输入元素,我正试图根据一对单选按钮的设置来启用或禁用它们。我正在使用下面的Javascript函数(为我添加了控制台日志以查看发生了什么事情) 当单选按钮值更改时,将调用该方法,并且参数具有正确的值,但是标题、姓氏和公司名称输入永远不会被禁用 控制台中的示例如下所示 EnableIndividualOrCompanyControls(false) Title value is Sir Title was false Title is now false 因此,正在调用函数,

我在一个页面上有一些输入元素,我正试图根据一对单选按钮的设置来启用或禁用它们。我正在使用下面的Javascript函数(为我添加了控制台日志以查看发生了什么事情)

当单选按钮值更改时,将调用该方法,并且参数具有正确的值,但是标题、姓氏和公司名称输入永远不会被禁用

控制台中的示例如下所示

EnableIndividualOrCompanyControls(false)
Title value is Sir
Title was false
Title is now false
因此,正在调用函数,参数具有正确的值,我正确地获取Title输入元素(从它正确地报告其值为“Sir”这一事实可以看出),但这些元素没有被禁用

奇怪的是,我在页面的其他地方使用了完全相同的代码,而且效果很好。这个函数可以工作

function EnableOnlineControls(enable) {
  $("#UserName").prop("disabled", !enable);
  $("#Password").prop("disabled", !enable);
  $("#PasswordAgain").prop("disabled", !enable);
}
有人知道为什么第一个不起作用吗?如果有帮助,这里是这些表单元素的HTML(为了清晰起见,删除了周围的div)


我试着用单引号代替双引号,但没有任何区别。

的答案解释了您的问题

个人
来自复选框;它是一根绳子。必须将其正确转换为布尔值:

$("#Surname").prop("disabled", (individual == "false" ? false : true));

我建议你建立一个小提琴,因为在我的机器上,你的代码是有效的如果单击“联机访问”复选框,则用户名和密码控件已正确启用/禁用,但如果更改“个人/公司”单选按钮,则标题、名字、姓氏和公司名称控件不会更改。Thx刚刚注意到小提琴中也包含了ArinCool对其中一个控件的建议,但正如您所看到的,这两种方法都不起作用。这太棒了,谢谢。我认为返回的值是布尔值,这就是我感到困惑的原因。现在我意识到它们是简单的字符串,这是有道理的。再次感谢。你能把我的问题投赞成票吗?它收到了-1,但我认为它可以对其他人有用。在我看来,这是一个非常明确和有益的回答。解释一下我讨厌Javascript的一个原因!
<input class="form-control" id="Title" name="Title" value="" />
<input class="form-control" id="Surname" name="Surname" value="" />
<input class="form-control" id="CompanyName" name="CompanyName" value="" />
$("#Surname").prop("disabled", (individual == "false" ? false : true));