jquery-就地编辑动态传递参数

时间:2018-12-03 00:13:14

标签: javascript jquery edit-in-place

我使用jquery-Plugin:https://code.google.com/archive/p/jquery-in-place-editor/ 。在以下部分中,我使用“ JEIP”代替全名。

我尝试通过CSS类将JEIP绑定到ID,而不是绑定到许多对象。

<div class="jeip" id='key1' data-type='elephant'>Text 1</div>
<div class="jeip" id='key2' data-type='mouse'>Text 2</div>

现在我也想动态传递数据类型元素。我想出了“参数”选项来传递其他数据。但这似乎不是动态的。

要初始化JEIP,请使用:

    $(".editInPlace").editInPlace({
            url: "http://submitUrl/",
            params: "datatype="+$(this).data('type'),
            callback: function(){   
                 console.log( $(this).data('type') );
            },                
     }

但是参数是错误的。我在收到提交操作的服务器脚本中只会得到undifiend。使用回调函数时,我可以获得具有正确数据的控制台输出。如何将数据元素传递到服务器?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

假设在脚本执行时所有元素都就位(即以后不会动态添加它们),则可以简单地循环这些元素并使用适当的值调用editInPlace插件函数:

$('.editInPlace').each(function(i, el){
    var $el = $(el); // cache the jQuery object corresponding to the current element
    var dataType = $el.data('type');

    // call the editInPlace plugin directly on the element
    $el.editInPlace({
        url      : 'http://submitUrl/',
        params   : 'datatype=' + dataType,
        callback : function(){   
            console.log(dataType);
        }
    });
});