我使用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。使用回调函数时,我可以获得具有正确数据的控制台输出。如何将数据元素传递到服务器?
感谢您的帮助。
答案 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);
}
});
});