使用jEditable编辑下拉列表时出现错误“验证器未定义”

时间:2011-12-12 11:33:50

标签: jquery jquery-validate datatables jeditable

我正在使用jeditable为我的表进行内联编辑。在我的表格中,我可以编辑文本,日期选择器以及下拉列表。

但是,当我编辑下拉列表时,我会在firebug中收到错误:

validator is undefined
[Break On This Error] validator.settings[eventType] && v...ype].call(validator, this[0], event); 

jquery.validate.js或jquery.js

出现错误

但是,当我编辑下拉列表时,我没有调用任何验证方法。

以下是为下拉列表声明jeditable的代码:

  // Drop down
    $('.dropdown').editable('@(Url.Action("Edit", "Stock"))',
    {
        data: getFoodTypesList(),
        type: 'select',
        indicator: 'saving...',
        event: 'dblclick',
        //tooltip: 'Double click to edit...',
        style: 'inherit',
        width: '240px',
        submit: '<img src="@Url.Content("~/Content/Add_in_Images/ok.png")" alt="ok"/>',
        cancel: '<img src="@Url.Content("~/Content/Add_in_Images/cancel.png")" alt="cancel"/>',
        // Use callback function to assign display text for the field after edit
        callback: function (value, settings) {
            var temp = getFoodTypeName(value);
            $(this).text(temp);
            $.ajax({
                async: false,
                url: '@(Url.Action("GetStockTable", "Stock"))',
                type: 'GET',
                success: function (result) {
                    $('#tableplaceholder').html(result);
                    unitDropDown();
                }
            });
        }

    });

每次单击下拉列表选择选项时都会出现错误。不知道是什么原因?或者,无论如何我可以“通过”下拉菜单的某种方式自动验证?

请帮助......非常感谢...

编辑:

IE Developer Tool中显示的错误不同:

 'settings' is null or not an object

它指向这一行:

 // Datepicker
    $('.storagedatepicker').editable('/Stock/Edit',
    {
        type: 'datepicker',
        indicator: 'saving...',

这是datepicker字段的jeditable ... 我不明白为什么它有关...

2 个答案:

答案 0 :(得分:4)

当我们将jEditable控件放在另一个窗体上并启用了jquery验证时,会发生此错误。这样做的原因是jEditable本身会创建一个表单,因此最终会在另一个表单中生成一个表单。

要禁用对子窗体元素的验证,我在行后面的“jquery.jeditable.js”脚本文件中添加了以下代码行

var form = $('<form />');

&GT;

 form.validate({
                  ignore: ":input"
              });

答案 1 :(得分:1)

当我删除

时,错误似乎消失了
@using BeginForm

从我的桌子......

我不记得为什么我包括那个但是到目前为止它仍然没有它工作正常..我猜错误是由“默认”验证触发,适用于表格标签中的任何内容..

任何评论和反馈仍然受到欢迎和赞赏。谢谢......