如何将事件分配给由n个计数组成的输入和复选框?

时间:2019-07-15 01:02:07

标签: javascript java mysql spring

我是spring的初学者。我当前正在更新db中的数据。我需要的当前db数据如下。

        UPDATE
        MY_DB
        SET type_big_category = type_big_category
        <if test="status != ''">
        , status = #{status}
        </if>
        <if test="body != null">
        , body = #{body}
        </if>
        WHERE
        seq_no = #{seq_no}

然后通过运行重复语句从js file中打印列表。

$(function() {

    $.ajax({
        url : "/dblistdata",
        type : "GET",
        dataType : "json",
        data: data,
        timeout: 10000
    }).done(function (result) {
        if(result.resultCode == "S000"){
            for (var i = 0; i < result.messagelist.length; i++) {
                var tableBody =  '<tr>'
                        + '<td>' + result.messagelist[i].type_big_category + '</td>'
                        + '<td>' + result.messagelist[i].type_mid_category + '</td>'
                        + '<td>'
                        + '<label class="checkbox" for="checkbox' + i + '">'
                        + '<input type="checkbox" name="checkbox'+ i +'" id="checkbox' + i + '" onClick="checkBoxClick(this.name, '+ result.messagelist[i].seq_no +')" />' + '<i>' + '</i>'
                        + '</label>'
                        + '</td>'
                        + '<td>'
                        +   '<textarea class="form-control push-text">"' + result.messagelist[i].body + '"</textarea>'
                        + '</td>'
                        + '<td>'
                        +   '<button type="button" class="btn btn-primary">save</button>'
                        +   '<button type="button" class="btn btn-default" id="deletebutton'+ i + '">delete</button>'
                        + '</td>'
                        + '</tr>';

                $('#tbody').append(tableBody);
                var btn[i] = document.getElementById('deletebutton[i]');
                btn[i].disabled = 'disabled';
            }
        }else{
            alert(result.resultMsg);
        }
    }).fail(function (jqXHR, textStatus, errorThrown) {
        console.log(errorThrown);
    })

});

function saveCommentData(seq_no, comment) {
    alert(seq_no);
}


function checkBoxClick(id, seq_no) {
    var data = {};
    data.seq_no = seq_no;
    console.log("id : " + id + " / seq_no " + seq_no);
    let check = $("#" + id).is(":checked");
    if (check == false) {
        var activecheck = confirm('Are you sure you want to disable it??');
        if (activecheck == true) {
            data.status = '0';
            updateStatus(data)
        } else {
            location.reload();
        }
    } else {
        var activecheck = confirm('Do you want to activate?');
        if (activecheck == true) {
            data.status = '1';
            updateStatus(data)
        } else {
            location.reload();
        }
    }
}

function updateStatus(data) {
    $.ajax({
        url : "/v1/point/admin/push/update_push_message_status",
        type : "POST",
        dataType : "json",
        data : data,
        success : function(result) {
            console.log(result);
        }
    })
location.reload();
}

jsp

                                <form class="smart-form">
                                <table class="tb-regist" id="autoPushMsg">
                                    <thead>
                                        <tr>
                                            <th>main</th>
                                            <th>sub</th>
                                            <th>check</th>
                                            <th colspan="2">mssage</th>
                                        </tr>
                                    </thead>
                                    <tbody id="tbody">
...

我的封锁是db,当前status的值全为1,只有一个。因此,应该只禁用一项检查,其余所有都应检查

我必须更改body值,即 message 值,并在按“保存”按钮时更改状态。

我已经完成了数据库设计,但是我不知道如何更改顺序以及激活/禁用检查。

感谢您的帮助。我需要您的解决方案。

1 个答案:

答案 0 :(得分:0)

通过将其插入重复语句来解决有关复选框状态指示的部分。

                if(result.messagelist[i].status == '0') {
                    document.getElementById("checkbox" + i).checked = false;
                }else{
                    document.getElementById("checkbox" + i).checked = true;
                }

因此,复选框状态更新功能已完成,并且在更新消息值时已接收并解析了相应行的索引值。

function saveCommentData(seq_no, index) {
    var activecheck = confirm('change message save?');
    var data = {}
    data.seq_no = seq_no;
    var comment = $("#comment" + index).val();
    data.body = comment
    if (activecheck == true) {
        updateStatus(data);
    } else {
        location.reload();
    }
}