2013-11-26 33 views
4

我有一個網頁,我使用jquery tagit plugin偉大的工程,但我試圖禁用它,當我點擊一個按鈕,並將它也有類似的行爲,當我禁用選擇下拉是這樣的:使用jquery tagit插件,是否有禁用所有條目?

$("#selectDropdown").val(0); 
$('#selectDropdown').prop('disabled', 'disabled'); 

無論如何,以編程方式禁用和啓用jQuery的tagit插件。我看到有一個只讀的選項on the docs page所以我試圖做這樣的事情:

$("#locationTags").tagit({ "readOnly": false }); 

但是這似乎並沒有做任何事情。

有什麼建議嗎?

+0

嘿,我可以對我的一些答案獲得一些反饋嗎?這是你想要的嗎?如果它缺少某些東西,請讓我知道,以便我可以解決它。你也有一個賞金結束在幾個小時,我沒有得到任何反饋意見,我的答案。你只是不喜歡獎賞你的賞金? – Trevor

+0

我無法在工作中測試答案(jsfiddle被封鎖),所以不幸的是有時候不能立刻獎賞賞金:( – leora

+0

沒問題,謝謝你回覆我 – Trevor

回答

5

以下演示如何禁用/啓用tagit字段。

更新了David的優化代碼。

$('#disable').click(function(){ 
     $('.ui-autocomplete-input').prop('disabled', true).val(''); 
     $('.tagit-choice').remove(); 
     $('.ui-widget-content').css('opacity','.2'); 
    }); 
    $('#enable').click(function(){ 
     $('.ui-widget-content').css('opacity','1'); 
     $('.ui-autocomplete-input').prop('disabled', false);  
    }); 

http://jsfiddle.net/davidThomas/j8Eg4/1/

因爲要現場看起來像一個殘疾下拉我選擇了這個解決方案。 tagit支持的另一個解決方案是,如果您想停止添加標籤,則可以使用beforeTagAdded (function, Callback)函數。並返回false以阻止新標籤被創建...

這是一個例子。

http://jsfiddle.net/j8Eg4/2/

+1

爲什麼你選擇'.ui-autocomplete-input '兩次,[而不是簡單地鏈接](http://jsfiddle.net/davidThomas/j8Eg4/1/)? –

+0

@DavidThomas好的調用,更好。鏈接不是我經常做的事情,我需要開始使用或實現它在我的代碼中。謝謝 – Trevor

+1

而且,僅僅因爲我有一個時刻,你也可以將'disable'和'enable'點擊處理程序合併爲一個(有點「作弊」):[demo](http:///jsfiddle.net/davidThomas/j8Eg4/3/)。它確實變得有點呃,雖然愚蠢;這種方法絕對可以採取太... ... D –

1

取下報價封閉只讀。

這應該工作:

$("#locationTags").tagit({ readOnly: true }); 
0

有一個簡單的方法

- 要禁用

$("#yourtag").tagit({ readOnly: true }); 
$(".tagit-close").find(".text-icon").html(""); 

- 要啓用

$("#yourtag").tagit({ readOnly: false }); 
$(".tagit-close").find(".text-icon").html("×"); 
相關問題