【问题标题】:Access x-editable dynamically generated form or input访问 x-editable 动态生成的表单或输入
【发布时间】:2015-06-16 11:12:15
【问题描述】:

点击一个元素后,x-editable 会创建一个input 元素。在验证回调中,我如何访问该元素?我“可以”通过每次将插件应用于元素时使用inputclass 分配一个唯一的类来做到这一点,但是,这提供的灵活性很小。在回调中,this 引用原始元素,而不是 input 元素。

https://jsfiddle.net/cgym6m3v/1/

<p>Name</p><a href="javascript:void(0)" id="name"></a>

$('#name').editable({
    type: 'text',
    title: 'Name',
    url: '/echo/json/',
    pk: 123,
    validate: function (value) {
        console.log(this,value);
    }
});

【问题讨论】:

  • 你到底想做什么?如果是这样,您可以推迟文本更新
  • @charlietfl 在其周围包裹一个表单并使用 jQuery 的验证插件对其进行验证。作为一种解决方法,我只是创建一个新输入并将其值设置为value
  • 但它已经有一个表格包裹在它周围。为什么不能只在可编辑的验证回调中使用验证插件中的正则表达式?
  • @charlietfl 验证插件可以用在editable的验证回调中吗?谢谢
  • 可能并不简单。两个插件都有自己的提交事件处理程序。

标签: javascript jquery dom x-editable


【解决方案1】:

我认为这不是最干净的解决方案,但它会起作用。也许根本没有一个干净的解决方案......

$('.bla').editable({
    inputclass: function(e, f) {
        $("a[aria-describedby=" + $(this).closest(".ui-tooltip").prop("id") + "]").data("shared", this);
    },
    validate: function (value) {
        console.log("validate", $(this).data("shared"));
    }
});

https://jsfiddle.net/cgym6m3v/5/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-04
    • 1970-01-01
    • 1970-01-01
    • 2021-09-06
    • 2012-01-02
    • 2016-06-14
    • 2017-11-10
    相关资源
    最近更新 更多