访问x-editable动态生成的表单或输入

时间:2015-04-10 16:32:27

标签: javascript jquery dom x-editable

点击元素后,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);
    }
});

1 个答案:

答案 0 :(得分:0)

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

$('.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/