我在php中为一个标准复选框创建了一个函数,它被称为cbox,还有一个标准输入框,称为inp。
<tr><td><?php cbox('charge_cc'); ?> Charge CC? Amount $ <?php inp('charge_amt'); ?></td></tr>
如果在"charge_amt"inp字段中输入了金额,则在过账/提交之前也需要选中复选框。
如果没有在输入字段中输入金额,则他们不需要选中该框,可以继续填写表格的其余部分并提交。我不确定如何实现这一点,因为我认为我的cbox和inp的php函数正在破坏我的jquery/javascript。
到目前为止,我已经尝试了一些变体:
<script type="text/javascript">
function validate(){
if (document.getElementById('charge_cc').checked){
alert("checked") ;
}else{
alert("You didn't check it! Let me check it for you.")
}
}
</script>
没有用,任何帮助都将不胜感激。
<td><input type="hidden" name="charge_cc" value="0" class="charge_cc">
<input type="checkbox" id="charge_cc" name="charge_cc" value="1" class="charge_cc"> Charge CC? Amount $ <input type="text" id="charge_amt" name="charge_amt" value="" size="8" maxlength="6"></td>
如果您只需要根据charge_amt
文本输入中的条目选中/取消选中复选框,我建议:
$('#charge_amt').keyup(function(){
var that = this;
$('#charge_cc').prop('checked', function(){
return that.value.length;
});
});
JS Fiddle演示。
如果您想防止用户在文本输入中出现值时取消选中复选框:
$('#charge_amt').keyup(function () {
var test = this.value.length;
$('#charge_cc').prop({
'checked': test,
'disabled': test
});
});
JS Fiddle演示。
使用jquery。。。如果您有一个id为charge_cc的复选框,这应该可以使用
if($("#charge_cc").prop("checked")) ...
jsfiddle处理您的html和警报:http://jsfiddle.net/kmV9m/
$(function () {
$('#charge_amt').on('change', function () {
var amount = $(this).val();
if (amount.length > 0) {
$('#charge_cc').prop('checked', 'checked');
} else {
$('#charge_cc').prop('checked',false);
}
});
})
在这里使用一点jQuery来为您做这项工作应该可以做到。
http://jsfiddle.net/devlshone/2HZFE/