我有一个复选框和输入字段,在检查chekbox后会启用。我想要的是在用户想要编辑记录时使输入字段已经启用。意味着在用户检查复选框并填写输入后,如果他想要修改它,则应该已经启用。
我在javascript中有什么:
$(document).ready(function () {
$('.checkbox').change(function() {
$(this).parent().next().find('.field').prop('disabled', !$(this).is(':checked'))
});
});
扩展复选框:
<div class="row">
<div class="small-8 large-8 columns">
<label>Process: <small style="color:red;">*</small>
<div class="multiselect">
<div class="selectBox" onclick="showCheckboxes()">
<select onclick="showCheckboxes()">
<option>-- Select an option --</option>
</select>
<div class="overSelect"></div>
</div>
<div class="scrollable" id="checkboxes">
<?php
while ($row = mysqli_fetch_array($result))
{
$row[0] = cleanOutputData($row[0]);
if(isset($process))
{
foreach($process as $code)
{
if($row[0] == $code)
{
$match = 1;
break;
}
else
$match = 0;
}
}
if(isset($requiredNo) && isset($process))
{
foreach($process as $key => $code)
{
if($row[0] == $code && $requiredNo[$key] != 0)
{
$match4 = 0;
break;
}
else
$match4 = 1;
}
}
?>
<div class="row">
<div class="small-12 large-12 columns">
<label style="height: 37px; width:80%; float:left;" >
<input type='checkbox' class="checkbox" style="margin-left:5%; width:15%;" name='process[]' id=<?php echo $row[0] ?> value="<?php echo $row[0] ?>" <?php if (isset($process) && $match==1) echo 'checked="checked"' ?>/><?php echo $row[0] ?>
</label>
<label style="width:40%; margin-left:60%;">
<input type="text" class="field" disabled style="width:40%;" name="numberpl" id="<?php echo $row[0] ?>" value= "<?php if (isset($requiredNo) && $match4==0) echo $requiredNo[$key] ?>" required/>
</label>
</div>
</div>
<?php
}
mysqli_free_result($result);
?>
</div>
</div>
</label>
</div>
</div>
所以问题是,如果字段不为空,我可以如何启用字段?感谢
答案 0 :(得分:2)
您可以尝试在完成加载时触发复选框:
$(document).ready(function () {
$('.checkbox').change(function() {
$(this).parent().next().find('.field').prop('disabled',!$(this).is(':checked'));
});
$('.checkbox').trigger('change');
});
答案 1 :(得分:0)
这可能对您有帮助,
If($('input.field').val().length > 0){
$('input.field').prop('disabled', false);
}
答案 2 :(得分:0)
if($('.field').val().length) {
$('.field').prop('disabled', false);
}
答案 3 :(得分:0)
您可以使用javascript中的scalar.py
属性执行此操作:
value
答案 4 :(得分:0)
因为你正在循环,所以有很多输入文本最接近使用它
$(document).ready(function () {
$('.checkbox').change(function() {
if ($(this)[0].checked == true) {
$(this).closest('.field').removeAttr('disabled');
} else {
$(this).closest('.field').attr('disabled', 'disabled');
}
});
});
答案 5 :(得分:0)
使用此:
$(document).ready(function () {
if($('input[name="numberpl"]').val().length() != 0){
$('input[name="numberpl"]').attr('disabled', false);
}
$('.checkbox').change(function() {
$(this).parent().next().find('.field').prop('disabled', !$(this).is(':checked'))
});
});