selectize的文檔已經解釋瞭如何使用create:function(input,callback){....}向數據庫添加一個新項目。selectize.js調用href添加新選項
在我的情況下,選擇框的基本模型不僅包含選項名稱,還包含其他數據。
P.e .:我有一個選擇框與國家。 選項由包含「country_name」,「top_level」,「currency」的「Countries」模型填充。選擇框只顯示「country_name」。 如果用戶想要添加一個新的國家,我想打開引導模式,讓用戶添加新的國家數據,保存後我想使用refreshOptions()刷新選擇框。
我試圖從
'option_create': function(data, escape) {
return '<div class="create">Add <strong>' + escape(data.input) + </strong>…</div>';
在行741 selectize.js更改爲
'option_create': function(data, escape) {
return '<a data-toggle="modal" data-keyboard="false" data-backdrop="static" data-target="#modal" href="... some link ...">New country</a>';
我可以看到在seletbox寫一個不存在的國後的鏈接,但是當我點擊它沒有任何反應。
我該如何解決這個問題?我已經接近放棄:-)
++++++++++++++++++++++++++++++++++ JavaScript來移除選項:
<script type="text/javascript">
$(".chosen-search-94-departID").selectize({
create: true,
sortField: {field: 'text'},
onOptionAdd: function (value, $item) {
var link='... link ...' + value;
load_modal_content (link, '... csrf ...');
$('#modal').modal('show');
$item.selectize.removeOption(value);
},
});
謝謝。它工作(差不多)。但是我仍然有一個問題:當用戶編寫一個新選項時,模式視圖(用戶應該爲選項添加新數據)打開。 現在用戶決定不添加新選項。他關閉了模態視圖,但新選項仍然可以選擇。 有沒有辦法阻止選擇自動添加新選項?如果選項真的保存到數據庫中,我會在關閉模式後添加它。 – sascha2014
然後使用removeItem()(也許removeOption())來消除不完整的選項。 – PhiLho
刪除不起作用。我相信我的代碼不正確。你能看看嗎?我在上面添加了我的代碼。謝謝! – sascha2014