2014-10-10 237 views
1

我一直在這一段時間,我似乎無法想出一個解決方案。可編輯的元素,覆蓋原文不工作(x編輯)

我正在使用X-editable(Jquery)來允許用戶編輯頁面中的元素。它大部分運行良好,但我在解決地址問題時遇到了很多麻煩。我編輯了插件附帶的address.js文件,以便可以有更多的字段(街道,城市,州等),如果點擊「編輯」按鈕,它們將正確顯示。

但是,當您提交更改時,它不會更改原始文本。

的jsfiddle所以你可以明白我的意思:http://jsfiddle.net/6puty174/

它應該當您提交您的更改,以取代原來的文本(你可以看到X-編輯網站上的例子://vitalets.github.io /x-editable/demo-bs3.html - 底部的「莫斯科」)。

不知道我在做什麼錯。我認爲這與我在address.js文件中所做的更改有關。我已經上傳了,所以你可以看到我做了什麼:http://saulmarquez.com/test/address.js。原來的://vitalets.github.io/x-editable/assets/x-editable/inputs-ext/address/address.js。

我試圖模仿我在現場的演示的源代碼看到:

$('#acct-address').editable({ 
    value: { 
     city: "Moscow", 
     street: "Lenina", 
     building: "12" 
    }, 
    validate: function(value) { 
     if(value.city == '') return 'city is required!'; 
    }, 
    display: function(value) { 
     if(!value) { 
      $(this).empty(); 
      return; 
     } 
     var html = '<b>' + $('<div>').text(value.city).html() + '</b>, ' + $('<div>').text(value.street).html() + ' st., bld. ' + $('<div>').text(value.building).html(); 
     $(this).html(html); 
    }   
}); 

然而,當我打的編輯鏈接進行更改,只有一個文本字段打開(而不是多說應該)與文本[輸出] [輸出] - 再次,當你點擊提交時,它不會改變任何東西。 (我也改變了上面的值來對應我在address.js中添加的那些值,並且發生了同樣的事情)。

希望這是有道理的。不知道我在做什麼。我對javascript/jquery仍然很陌生,以及所有插件如何工作。

在此先感謝!

回答

0

更改HTML:

<div class="acct-sub"> 
    <strong>Address</strong><br> 
    <span id="acct-address">5555 E. PEF Lane</span><br> 
    <span id="acct-city">Phoenix</span>, <span id="acct-state">AZ</span> 
    <span id="acct-zip">85142</span> <span style="float: right;"> 
    <a href="#" id="address-edit">Edit</a></span> 
</div> 

變化JS:

$('#acct-address').editable({ 
    type: 'address', 
    pk: 1,  
    title: 'Edit Your Billing & Contact Address', 
    display: function(value, sourceData) { 
     if (value !== null) { 
      $("#acct-address").text(value.street); 
      $("#acct-city").text(value.city); 
      $("#acct-state").text(value.state); 
      $("#acct-zip").text(value.zipcode); 
     } 
    } 
}); 
+0

太謝謝你了!有用! – SAULMARQ 2014-10-10 19:15:37