我有以下两个html元素
<div class="col-sm">
<label for="numberOfShiftPerDay">Number of Shift Per Day</label>
<input type="number" class="form-control" id="numberOfShiftPerDay" name="numberOfShiftPerDay" placeholder="No: of Shift Per Day" title="Please key in how many number of shift per day" min="1" max="4">
</div>
第二个元素是使用一些php for循环创建的
<div class="form-group">
<div class="row">
<?php
for($loop = 1; $loop<=4; $loop++){
echo '<div class="col-sm">
<label>Shift '.$loop.' Duration</label>
<select class="form-control" id="shift'.$loop.'Duration" name="shift'.$loop.'Duration">
<option>8</option>
<option>12</option>
</select>
</div>';
}
?>
</div>
</div>
我需要的
当有人更改第一个选项元素时,我需要根据某些条件禁用第二个元素。因此,我编写了以下JQuery
$("#numberOfShiftPerDay").change(function() {
if ($("#numberOfShiftPerDay").html == "1") {
$("#shift1Duration").attr("disabled");
}
});
但这并不能使它失效。有人能帮我吗?
您应该使用jQuery方法“ val()”来获取输入中的“文本”,而不是html()。然后,您可以使用以下任一方法来禁用值更改时的“输入”。
$("#numberOfShiftPerDay").change(function() {
$(this).attr('disabled', $(this).val() == "1");
});
要么
$("#numberOfShiftPerDay").change(function() {
$(this).prop('disabled', $(this).val() == "1");
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句