我正在尝试在某个条件后禁用输入,但我不明白为什么这不起作用。我尝试使用$("#exemplaire_50001_0").attr('disabled', true);
和$("#exemplaire_50001_0").prop('disabled', true);
,但是两者都没有改变。我正在使用Jquery 1.5.1,因此我认为必须使用.attr
。
当我添加
$("#exemplaire_50001_0").css("background-color", "red");
到我的选择器,这样背景就会变成红色。
我的问题是,为什么.css
起作用而.prop
或.attr
却不起作用?问题出在哪里?是否还有其他解决方案可以使用jquery禁用输入?
代码:
var test = $('#num_cppap').val();
var test2 = test.substr(0,3);
console.log(test2);
if(test2 == "AIP"){
$("#exemplaire_50001_0").css("background-color", "red");
$("#exemplaire_50001_0").attr('disabled', true);
}
html(这是我如何构建HTML(使用ZendFramework)):
导航渲染:
答案 0 :(得分:0)
如here所述:
jQuery 1.5及更低版本
.prop()函数不存在,但是.attr()具有类似功能:
设置禁用的属性。
$("input").attr('disabled','disabled');
要再次启用,正确的方法是使用.removeAttr()
$("input").removeAttr('disabled');
var text = $("#text");
var btn = $("#btn");
btn[0].onclick = function() {
text.attr('disabled', 'disabled');
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<input id="text" value="toto" />
<button id="btn">
click me
</button>
答案 1 :(得分:0)
你能看看这个吗,我举了一个例子:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<div id="tableNiveau" class="declare">
<table id="tableNivPrep" class="tabData" border="0" style="display:block">
<thead>
<tr class="entete">
<th colspan="2" rowspan="2" class="entete">Préparation</th>
<th colspan="2" class="entete">Déclaré</th>
<th colspan="2" rowspan="2" class="entete">Option</th>
<th colspan="2" rowspan="2" class="entete" style="width:20%">Offre grand compte</th>
</tr>
<tr class="entete">
<th class="entete">Exemplaires</th>
<th class="entete">Paquets</th>
</tr>
</thead>
<tbody>
<tr id="50001" class="odd">
<td>Edition LDQL</td>
<td></td>
<td><input type="hidden" value="" name="idPrepa_50001_0"><input type="text" value="" name="exemplaire_50001_0" id="exemplaire_50001_0" class="saisie nivPrep Edition" style="text-align: right; background-color: red;" onkeyup="calculTotauxDeclare()"
onkeypress="return chiffres(event);"></td>
<td></td>
<td></td>
<td><select name="option_preparation_50001_0" id="option_preparation_50001_0"><option value="">Choix de l'option</option><option value="81000800">LOCAL </option><option value="81000801">Standard </option><option value="81000802">DIRECT </option><option value="81000803">DepotCTC </option><option value="81000804">DepotCDIS </option></select></td>
<td
style="text-align:center;"><input type="checkbox" name="zone_dense_50001" id="zone_dense_50001">
</td>
</tr>
Failed<string>
答案 2 :(得分:-2)
您必须像下面那样更正您的代码:
来自
$("#exemplaire_50001_0").attr('disabled', true);
到
$("#exemplaire_50001_0").attr('disabled', 'disabled');
以上代码是用于禁用的,如果要启用它,则必须删除禁用属性,如以下代码所示:
$("input").removeAttr('disabled');