我有一个表单,我需要在选中文本框时启用文本框,并在复选框未选中时清除该值。我正在使用javascript和我的Js无法正常工作..
这是我的表单代码
<?php if($this->config->get('config_dropshipper')){?>
<table>
<tr>
<td colspan="2"><input type="checkbox" name="dropship" id="dropship" value="1"/>
<label for="dropship" ><b>Beli sebagai dropshipper</b></label>
</td>
</tr>
<tr class="highlight">
<td>Dropshipper</td>
<td><input type="text" name="dropshiper_name" id="dropshiper_name" value="<?=$dropshiper_name?>"/></td>
</tr>
<tr>
<td>Nomot Telepon</td>
<td><input type="text" name="dropshiper_phone_number" id="dropshiper_phone_number" value="<?=$dropshiper_phone_number?>" /></td>
</tr>
</table>
<?php } ?>
我的JS代码
$('#dropship').bind('change', function() {
if ($('#dropship').prop('checked')) {
$("#dropshiper_name").attr("disable", false);
$("dropshiper_phone_number").attr("disable", false);
}
else{
$("#dropshiper_name").val("");
$("#dropshiper_name").attr("disable", true);
$("#dropshiper_phone_number").val("");
$("#dropshiper_phone_number").attr("disable", true);
}
});
$('#dropship').trigger('change');
如何解决这个问题?
答案 0 :(得分:0)
您的代码可能存在jQuery版本问题。
请根据您的jQuery版本使用以下代码。 使用可以在包含的jQuery.js库中检查jQuery版本。
$('#dropship').click(function() {
if ($(this).is(":checked")) {
/*For jquery version 1.6+ use following*/
$("#dropshiper_name").prop('disabled', false);
$("dropshiper_phone_number").prop("disabled", false);
/*For jquery version less than 1.6 use following*/
$("#dropshiper_name").attr('disabled','disabled');
$("dropshiper_phone_number").attr('disabled','disabled');
}
else{
$("#dropshiper_name").val("");
$("#dropshiper_phone_number").val("");
/*For jquery version 1.6+ use following*/
$("#dropshiper_name").prop('disabled', true);
$("dropshiper_phone_number").prop("disabled", true);
/*For jquery version less than 1.6 use following*/
$("#dropshiper_name").removeAttr('disabled');
$("#dropshiper_phone_number").removeAttr('disabled');
}
});
试试这个。这对你有用。