我经常发现需要在几个需要不同参数设置的区域使用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 以这种方式工作..
如何为每个可编辑绑定动态操作动态操作的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())}
}
});
答案 0 :(得分:3)
警告,完全未经测试的代码,但以下内容应该有效:
$('.editme').each(function() {
$(this).editable('savedata.php',{
loadurl : 'loaddata.php',
loaddata : { handle: $(this).attr('rel') }
});
});
这样,在元素上初始化Jeditable时, this 的得分应该是正确的。
答案 1 :(得分:-1)
这对我有用
$(this).data('rel)
和html
<div id="fruits" class="editme" data-rel="myfruits">apples</div>