使用jquery操作复选框和文本框

时间:2011-12-15 07:44:56

标签: javascript jquery

我在mypage中有以下代码,

    ....
    <input type="checkbox" title="Warehouse1" name="warehouse[]" id="selectedUser_1" class="select_checkbox" rel="warhouse_1" value="23">
    <input type="checkbox" title="Warehouse2" name="warehouse[]" id="selectedUser_2" class="select_checkbox" rel="warhouse_2" value="24">
    .....
    //text box to enter current stock for the above warehouses
    <input type="text" style="" name="current_stock[]" value="10" id="current_st_1" class="validtxt">
    <input type="text" style="" name="current_stock[]" value="11" id="current_st_2" class="validtxt">
    .....
<input type="button" id="check_warehouse_qty" name="check_warehouse_qty" value="OK">

这里当我点击按钮时,我需要在文本框中存储相应的复选框值。例如 我需要23_10,24_11。这样我就可以在隐藏的文本框中分配并进行进一步的操作。 善意的建议。

4 个答案:

答案 0 :(得分:3)

你想做这样的事情:

$('#check_warehouse_qty').click(function() {

    $('.select_checkbox').each(function() {

        var val = $(this).val();  // "23"

        var id = $(this).attr('id').replace('selectedUser_', '');

        val += $('#current_st_' + id).val(); // "23_10"

        // store 'val' in some hidden field
        $('hidden_field_' + id).val(val);

    });

});

答案 1 :(得分:0)

我不确定我是否理解你想要如何改变你的价值观,但这是一个镜头。

您可以使用以下内容设置表单字段的值:

$('#inputId').val(newVal);

所以在你的情况下,这样的东西会将current_st_1值移动到selectedUser_1值:

$('#selectedUser_1').val($('#current_st_1').val());

如果要连接可以使用的值:

$('#selectedUser_1').val($('#selectedUser_1').val() + '_' + $('#current_st_1').val());

以下是val()函数的jQuery API文档的链接: http://api.jquery.com/val/

答案 2 :(得分:0)

要获取/设置您应该能够使用的值.val(),例如:

$('#current_st_1').val($('#selectedUser_1').val());

答案 3 :(得分:0)

我认为你需要这样的东西

<script type="text/javascript">
(function($) {
    $(function() {
        $('#check_warehouse_qty').click(function(e){

            //check if first checkbox is ticked
            if ($('#selectedUser_1').attr('checked')) {
                //checks if value was already put in
                if($('#current_st_1').val().indexOf($('#selectedUser_1').val()+'_') == -1){
                    //if it was not then set the value
                    $('#current_st_1').val($('#selectedUser_1').val()+'_'+$('#current_st_1').val());
                }
            }
            else{
                //remove value if unchecked
                $('#current_st_1').val($('#current_st_1').val().replace($('#selectedUser_1').val()+'_',''));
            }

            //check if second checkbox is ticked
            if ($('#selectedUser_2').attr('checked')) {
                //checks if value was already put in
                if($('#current_st_2').val().indexOf($('#selectedUser_2').val()+'_') == -1){
                    //if it was not then set the value
                    $('#current_st_2').val($('#selectedUser_2').val()+'_'+$('#current_st_2').val());
                }
            }
            else{
                //remove value if unchecked
                $('#current_st_2').val($('#current_st_2').val().replace($('#selectedUser_2').val()+'_',''));
            }
        });
    });
})(jQuery);
</script>