我想了解X-editable如何存儲值。X-editable就地編輯插件如何存儲值?
例如,我有以下代碼:
HTML:
<a class="editable" data-type="select" data-value="1">value-1</a>
的JavaScript:
$.fn.editable.defaults.mode = 'inline'; $('.editable').html('value-2'); $('.editable').data('value',2); $('.editable').editable({ source: function() { return [ { value: 1, text: "value-1" }, { value: 2, text: "value-2" }, { value: 3, text: "value-3" } ]; } });
正如你所看到的,它工作得很好。在第一步中,我聲明下拉的值等於「值-1」,然後在JavaScript中將其更改爲「值-2」。因此,您可以在頁面上顯示「值-2」,在點擊下拉相同的值後,可以選擇「值-2」。
在這一步,我將修改JavaScript中的位,如下:
//$('.editable').html('value-2'); $('.editable').data('value',2);
同樣的結果是相當可預期的。您將在頁面上看到「值-1」,但在打開下拉菜單時將選擇「值-2」。
現在讓我們改變JavaScript代碼以相反的方式
$('.editable').html('value-2'); //$('.editable').data('value',2);
這樣的修改後的頁面上的值將等於「值-2」,但在下拉選擇的值開始編輯時將成爲「價值1」。所以也是非常合理的行爲。
問:
預計不會對我來說什麼是是,節省通過點擊編輯控制的「確定」按鈕不會改變data-value
屬性的變化,它只能改變顯示的文本。例如,如果我們將值更新爲"value-3"
並單擊「確定」,data-value
屬性將仍然等於1.那麼插件在再次打開時如何在下拉列表中選擇適當的值?
UPD:
從更改代碼的編輯價值的最恰當的方法是使用
$('.editable').editable('setValue', 'value-1');