Javascript 使用jQuery禁用输入文本框类型=";文件";
我正在尝试禁用用于上载图像的带有Javascript 使用jQuery禁用输入文本框类型=";文件";,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试禁用用于上载图像的带有type=“file”的HTML输入标记。我正在使用收音机选项指示是或否。如果用户单击否,则应禁用输入文本框。这是我使用的代码,但我不知道我做错了什么 $('#InputTrib')。更改(函数(){ $('#images').prop('disabled',false); }); $('#InputAttribute').change(函数(){ $('#images').prop('disabled',true); }); 说明付款方式: 对 不 上传您的
type=“file”
的HTML输入标记。我正在使用收音机选项指示是或否。如果用户单击否,则应禁用输入文本框。这是我使用的代码,但我不知道我做错了什么
$('#InputTrib')。更改(函数(){
$('#images').prop('disabled',false);
});
$('#InputAttribute').change(函数(){
$('#images').prop('disabled',true);
});代码>
说明付款方式:
对
不
上传您的付款凭证:仅适用于银行存款
主要问题是
的类型属性。您有type=“javascript/text”
这是不允许它工作的
请注意,您使用了type=“text”
。你是说,type=“file”
确保assets/js/jquery-1.11.1.min.js
位于正确的位置
此外,没有与选择器匹配的元素。这就是它不起作用的原因。您需要使用以下各项:
<html>
<head>
<script src="https://code.jquery.com/jquery-2.2.4.js"></script>
<title>test</title>
</head>
<body>
<div class="form-group" style="">
<p> Indicate Payment Method:</p>
<input id ="inptrue" type="radio" name="pmethod" value="Yes">Yes<br />
<input id="inpfalse" type="radio" name="pmethod" value="No">No;
</div>
<div class="form-group">
<label for="file">Upload your Payment Evidence: <i>for Bank Deposit only</i></label>
<input id="images" type="text" name="file" class="form-first-name form-control" />
</div>
<script>
$('#inptrue').click(function() {
$('#images').prop('disabled', false);
});
$('#inpfalse').click(function() {
$('#images').prop('disabled', true);
});
</script>
</body>
</html>
您的代码是正确的,您只需从脚本标记中删除type
,或者将其改为type=“text/javascript”
如果您将事件按名称分配一次,并使用值作为条件,而不是添加两个事件,则效果会更好:
$('[name="pmethod"]').change(function() {
if($(this).val()=="Yes")
$('#images').removeAttr('disabled');
else
$('#images').attr('disabled','disabled');
});
希望这有帮助
$('[name=“pmethod”]')。更改(函数(){
如果($(this.val()=“是”)
$(“#图像”).removeAttr('disabled');
其他的
$('#images').attr('disabled','disabled');
});代码>
说明付款方式:
对
不
上传您的付款凭证:仅适用于银行存款
它的类型不是file什么是#inputattrib
?@Mohammad你已经完全破坏了这个问题,伙计。你忘了告诉type属性,这是主要问题之一,JavaScript没有执行。嘿,好的一个:它现在工作得很好。这里有人回答了帮助我的代码:非常感谢您解决了我的问题:这是您发送的代码,可以使用:$('[name=“pmethod”]').change(function(){if($(this.val()==“Yes”)$('#images').removeAttr('disabled');else$('#images').attr('disabled','disabled');})@用户3418506使用prop
更好,正如您已经使用的那样。@ZakariaAcharki我想OP使用的是旧的jQuery。你怎么认为?
$('[name="pmethod"]').change(function() {
if($(this).val()=="Yes")
$('#images').removeAttr('disabled');
else
$('#images').attr('disabled','disabled');
});