Редактирование не работает - PullRequest
0 голосов
/ 24 марта 2012

Я хочу использовать проверку jQuery с jEditable.Здесь я отображаю таблицу из моей базы данных в цикле while что-то вроде этого.

<table id="example" class="display"  cellspacing="0" border="0">
<thead>
  <tr>
    <th>
    Name
    </th>
    <th>
    Phone
    </th>
 </tr>
</thead>
<tbody>
   <tr>
     <td class="items" userid="'.$row['id'].'" id="name">'.$row['name'].'</td>
     <td class="items required" userid="'.$row['id'].'" id="phone">'.$row['phone'].'</td>
   </tr>
</tbody>
</table>

И это скрипт jEditable с кодами проверки jQuery, которые я использую.

$("td.items").each(function(index) {    
$(this).editable("handler.php", { 

onsubmit: function(settings, td) {
    var input = $(td).find('input');
    $(this).validate({
        rules: {
            phone: {
                number: true,
            }
        },
        messages: {
            phone: {
                number: 'Only numbers are allowed',

            }

        },
    });
    return ($(this).valid());
},

submitdata : {userid: $(this).attr('retailerid')},
indicator : "<img src='images/indicator.gif'>",
tooltip   : "Doubleclick to edit...",
event     : "dblclick",
onblur    : "submit",
name : 'newvalue',
id   : 'elementid',

});
});

Здесь jEditable работает отлично.Но проверка не работает.Правильный ли этот код проверки?

1 Ответ

1 голос
/ 24 марта 2012

Цитировать OP: "Это правильный код проверки?"

Это не так.Имена элементов input, на которые нацелены параметры плагина, должны ссылаться только на атрибут name элемента input внутри form, а не id ячейки в table.

AFAIK, jQuery Validation Plugin был разработан, чтобы предназначаться только для <input> элементов, содержащихся в <form>.Вы не имеете ни в своем коде.

http://docs.jquery.com/Plugins/Validation/validate#toptions

...