我经常发现我需要在几个需要不同参数设置的区域上使用 jeditable。
例如,我将 jeditable 与 autosuggest 输入类型一起使用,然后我需要将不同的数据源传递给不同的输入。
我只想使用可编辑插件的一个实例,并尝试将 attr-values 分配给脚本,但显然这不适用于我接近它的方式..
我希望有人可以指导我一点..
本质上,我希望能够根据它正在操作的 dom 元素的属性值设置一个可编辑的参数值。
就像是:
$('.editme').editable('savedata.php',{
loadurl : 'loaddata.php',
loaddata : { handle: $(this).attr('rel') }
});
然后我可以简单地指定不同的负载源:
<div id="fruits" class="editme" rel="myfruits">apples</div>
我没有找到关键字this以这种方式工作..
如何访问为每个 jeditable 绑定动态操作的 dom 元素的属性?
这是我想做的另一个例子: authorsList = "".split(",");
// extend jeditable with autocomplete
$.editable.addInputType('autoc', {
element: function(settings, original) {
var input = $("<input />").autocomplete(settings.mdata, settings.autoc);
$(this).append(input);
return input; }
});
$('.editable.authors').editable('savedata.php',{
type : "autoc",
mdata : $(this).attr('rel'), // should hold the name 'authorsList'
onblur : 'ignore',
autoc : { multiple: true,
multipleSeparator: ',' },
loadurl : 'loaddata.php',
loadtype : 'POST',
loaddata : {handle: function(){ return eval($("#objhandle").val())}, lookuptype: 'mirror'},
submit : 'save',
cancel : 'cancel',
tooltip : "Click to edit",
style : "inherit",
cssclass : 'jedi',
id : "field",
name : "data",
submitdata : {
storetype: 'mirror',
handle: function(){return eval($("#objhandle").val())},
timestamp: function(){return eval($("#objtimestamp").val())}
}
});