自动选中行中的复选框

时间:2011-06-14 02:51:34

标签: html select checkbox

我正在表单中显示表格行。每行有5列,其中一列是(可编辑的)文本框字段。

ajaxLoading(true);
    $.post('<%=request.getContextPath()%>'+"/processServlet", postData,
            function(data) {
              var ctxPath='<%=request.getContextPath()%>';
                currentPosition = data.currentPosition;

                var items = $("#itemsTable");
                items.empty();
                if (data.items.length == 0) {
                    items.append($('<tr><td colspan=5 style="color:red;">No items<td></tr>'));
                }
                ;
                for (var i = 0; i < data.items.length; i++) {

                    editText = "";

                    items.append($("<tr " + zebra + "><td><a href=\"javascript: deviceView('" + data.items[i].id + "')\">" + data.items[i].num +
                            "</a></td><td>" + data.items[i].itemType +
            "</td><td><input type = 'checkbox' id = 'CheckBoxRow_' />" + data.items[i] +
                            "</td><td><input type = 'textbox' id = 'TextBoxRow_' value = '" + data.items[i].itemName +"' "/>" +
                            "</td><td>" + data.items[i].status +
                            "</td><td>" + data.items[i].date + "</td>" +
                           "<td>" + data.items[i].firmware + "<td>" +
                            "<a href=\"javascript: deleteItem('" + data.items[i].id + "')\">Delete</a>" +
                            "</tr>"));

                ;
                ajaxLoading(false);
            }, "json");

如何在文本框中输入或修改数据时自动选中复选框并将数据保存在数据库中?

1 个答案:

答案 0 :(得分:1)

绑定到textbox onchange事件并将其设置为check = true,一旦返回值(并且尚未检查)。

$('#itemsTable input[type="checkbox"]').change(function(e){
  var $cb = $(this);
  if ($cb.is(':checked')){
    $cb.closest('tr').find('input[type="checkbox"][id^=CheckBoxRow_]').prop('checked','true');
  }
});

基本上。虽然你真的不应该在追加中使用HTML,而应该用jQuery构建对象。