Авто установить флажок в строках - PullRequest
0 голосов
/ 14 июня 2011

Я отображаю строки таблицы в форме.Каждая строка имеет 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 Ответ

1 голос
/ 14 июня 2011

привязать к событию 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...