我有这个复选框:
<input type="checkbox" name="suspended" id="s" value="<?php echo $udata['suspended']; ?>" <?php echo $suspended; ?>>
这个textarea:
<textarea name="suspendreason" id="sr" style="height:60px" class="field"><?php echo $udata['suspendreason']; ?></textarea>
我的问题是,每当#s复选框未选中时,如何才能使textarea READONLY?
答案 0 :(得分:10)
根据您的要求,可以这样:
$(document).ready(function(){
if($('#s:checked').length){
$('#sr').attr('readonly',true); // On Load, should it be read only?
}
$('#s').change(function(){
if($('#s:checked').length){
$('#sr').attr('readonly',true); //If checked - Read only
}else{
$('#sr').attr('readonly',false);//Not Checked - Normal
}
});
});
答案 1 :(得分:6)
我建议将其设为只读和禁用。
$("#sr").attr('disabled', 'disabled');
$("#sr").attr('readonly', 'readonly');
只是因为如果有人处于Carat Browsing模式,很少见,但是我有客户这样做,他们可以编辑禁用的字段。
对于复选框:
<script type="text/javascript">
$(document).ready(function () {
// check upon loading
if(!$("#s").is(:checked))
{
$("#sr").attr('disabled', 'disabled');
$("#sr").attr('readonly', 'readonly');
}
// event
$("#s").change(function () {
if(!$(this).is(:checked)) {
{
$("#sr").attr('disabled', 'disabled');
$("#sr").attr('readonly', 'readonly');
}
else
{
$("#sr").attr('disabled', '');
$("#sr").attr('readonly', '');
}
}
});
</script>
答案 2 :(得分:2)
$(document).ready(function() {
$("#s").change(function() {
if (!this.checked) {
$("#sr").attr('disabled', 'disabled');
$("#sr").attr('readonly', 'true');
}
else {
$("#sr").removeAttr('disabled');
$("#sr").removeAttr('readonly');
}
});
//triger change event in case checkbox checked when user accessed page
$("#s").trigger("change")
});
工作演示 - http://jsfiddle.net/cc5T3/1/
答案 3 :(得分:1)
$("input[type=checkbox][checked]").each(
function() {
$("#sr").attr("disabled", "disabled")
}
);
答案 4 :(得分:-1)
你可以禁用=“禁用”