设置输入值

时间:2012-03-21 15:27:34

标签: javascript jquery

我正在尝试在选中复选框时将输入值设置为1,并在取消选中时将其设置为空, 无法让它工作,请帮助。

<td id="check-box"><input type="checkbox" name="checkbox"></td>
<td id="qty-box"><input type="text" name="qtybox"></td>

<script type="text/javascript">
function setValue(a) {
   if (a < 1) {
     a = 1;
   }
}
var qty = $('#qty-box [name="qtybox"]').val();

$("#check-box").click(function() {    
    if ($(this[name = "checkbox"]).attr('checked', true)) {
        setValue(qty);
    }
    else {
        qty = 0;
    }
});
</script>

4 个答案:

答案 0 :(得分:2)

尝试以下方法 -

<td id="check-box"><input type="checkbox" name="checkbox"></td>
<td id="qty-box"><input type="text" name="qtybox"></td>

<script type="text/javascript">    
    $(document).ready(function()
    {
        $("input[name='checkbox']").click(function()
        {
            if($(this).is(':checked'))
            { 
                $("input[name='qtybox']").val("1");
            }
            else
            {
                $("input[name='qtybox']").val("");  // Change it to - val("0") - 
                                  //if you want to clear the text box with zero.
            }
        });
    });
</script>

Here是一个很好的工作版演示。

答案 1 :(得分:1)

jsFiddle example

,很简短
$('input[name="checkbox"]').change(function(){
    $('input[name="qtybox"]').val($(this).is(':checked')?'1':'');
})​

答案 2 :(得分:0)

这样做

$(function(){

    $('input[name="checkbox"]').click(function(){
        $('input[name="qtybox"]').val(0);
        if($(this).is(':checked'))
        {
            $('input[name="qtybox"]').val(1);
        }

    });

});

工作样本:http://jsfiddle.net/PBzuQ/17/

答案 3 :(得分:0)

将id赋予输入使事情变得更加简单。

<td><input type="checkbox" id="check-box" name="checkbox"></td>
<td><input type="text" id="qty-box" name="qtybox"></td>

<script type="text/javascript">
$(function () {
    $("#check-box").click(function () {
        var qty = $('#qty-box');
        if ($(this).prop('checked')) {
            if (qty.val() < 1) qty.val(1);
        } else {
            qty.val(0);
        }
    });
});
</script>