我已经找了好几个小时了,希望有人能帮我。
我计划在ruby on rails中使用jeditable进行就地编辑。我可以很好地处理普通文本,但是我在select选项上遇到了一些问题。我想使用data -attribute通过嵌入在字段中的集合将数据传递给可编辑字段。因为我的页面上有大约40或50个字段,所以我不能只为每个可编辑字段创建一个调用。
下面是一些代码:
$(".editable[data-type='select']").editable("/post/here", {
id: '_action',
height: '1.8em',
type: "select",
data: $(this).data("collection")
submit: "Ok",
submitdata : function () {
return {
"id": this.getAttribute("data-query"),
"index": this.getAttribute("data-index")
};
}
});这个集合可以在我通过helper方法生成的链接上找到:
content_tag(:div, opt_value, class: "editable", id: options[:_action], "data-query" => query.id, "data-index" => options[:index], "data-type" => "select", "data-collection" => Hash[double_array].to_json, style: "display:inline")它会产生类似下面这样的结果:
<div class="editable" data-collection="{'0':'Option 0','1':'Option 1'}" data-query="33" data-type="select" id="some_action" style="display:inline">Option 1</div>显然这是行不通的:
data: $(this).data("collection")通过尽量保持低调,是否有一种方法可以访问调用的可编辑字段中的嵌入属性?
谢谢,屋大维
发布于 2012-10-19 21:26:09
显然,这有点难以执行。
我最终编辑src的方式是,如果标记具有数据收集属性,它将尝试使用该数据,否则将像以前一样执行。
下面是一些代码:
...truncated...
content : function(data, settings, original) {
/* If it is string assume it is json. */
if (String == data.constructor) {
eval ('var json = ' + data);
} else {
/* Otherwise assume it is a hash already. */
var json = data;
}
...truncated...编辑代码:
...truncated...
content : function(data, settings, original) {
/* If it is string assume it is json. */
if (collection = $(original).data("collection")) {
var json = collection;
} else if (String == data.constructor) {
eval ('var json = ' + data);
} else {
/* Otherwise assume it is a hash already. */
var json = data;
}
...truncated...https://stackoverflow.com/questions/12689105
复制相似问题