0

我在 php 中为标准复选框创建了一个函数,它称为 cbox 以及一个称为 inp 的标准输入框。

<tr><td><?php cbox('charge_cc'); ?> Charge CC? Amount $ <?php inp('charge_amt'); ?></td></tr>

如果在“charge_amt”输入字段中输入了金额,则在发布/提交之前也需要选中该复选框。

如果没有在输入字段中输入金额,则他们不需要选中该框,可以继续填写表格的其余部分并提交。我不确定如何做到这一点,因为我认为我的 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>
4

3 回答 3

1

使用jquery ...如果您有一个id为charge_cc的复选框,这应该可以

if($("#charge_cc").prop("checked")) ...

jsfiddle 与您的 html 和警报:http: //jsfiddle.net/kmV9m/

于 2013-04-05T20:15:42.033 回答
1

如果您只需要根据charge_amt文本输入中的条目选中/取消选中复选框,我建议:

$('#charge_amt').keyup(function(){
    var that = this;
    $('#charge_cc').prop('checked', function(){
        return that.value.length;
    });
});

JS 小提琴演示

如果您想阻止用户在文本输入中有值时取消选中该复选框:

$('#charge_amt').keyup(function () {
    var test = this.value.length;
    $('#charge_cc').prop({
        'checked': test,
            'disabled': test
    });
});

JS 小提琴演示

于 2013-04-05T21:02:17.837 回答
0
$(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/

于 2013-04-05T20:46:10.703 回答