我已經嘗試了標籤的,我可以用插入箱量設置限制:如何在達到限制時停止將標籤添加到陣列中?
tagLimit: 2,
雖然這阻止你進入超過2入禁區,但它仍然將它們添加到「sampleTags」陣列。有人會知道如何防止它添加到陣列一旦達到限制?
的jsfiddle:http://jsfiddle.net/uVxXg/137/
我已經嘗試了標籤的,我可以用插入箱量設置限制:如何在達到限制時停止將標籤添加到陣列中?
tagLimit: 2,
雖然這阻止你進入超過2入禁區,但它仍然將它們添加到「sampleTags」陣列。有人會知道如何防止它添加到陣列一旦達到限制?
的jsfiddle:http://jsfiddle.net/uVxXg/137/
你可以使用tagit提供的afterTagAdded事件並移動你的代碼推動t他重視那裏的陣列。這樣,當真正加了標籤的代碼纔會執行:
代碼
// When the user clicks submit
$('form').submit(function(e) {
var inp = $('#tagInput').val();
$('#tagInput').val('');
$('#tags').tagit('createTag', inp);
sampleTags.push(inp);
e.preventDefault();
});
刪除與行「sampleTags.push(INP);」
添加以下代碼以TAG-IT功能(見afterTagAdded事件):
// When the user clicks submit
$('#tags').tagit({
availableTags: sampleTags,
tagLimit: 2,
afterTagRemoved: function(evt, ui) {
console.log(ui.tagLabel)
for(var i = 0; i < sampleTags.length; i++) {
if (sampleTags[i] == ui.tagLabel) {
sampleTags.splice(i, 1);
}
}
},
afterTagAdded: function(evt, data){
sampleTags.push(data.tagLabel);
}
});
看到這裏的工作例如:http://jsfiddle.net/uVxXg/142/
UPDATE:
要回答的評論。達到tagLimit時,使用「onTagLimitExceeded」提供反饋。工作示例這裏:http://jsfiddle.net/uVxXg/144/
afterTagAdded: function(evt, data){
sampleTags.push(data.tagLabel);
},
onTagLimitExceeded: function(evt, data){
alert('Tag limit reached!');
}
您可以在這裏找到的標籤,它的GitHub頁面上的所有事件的列表:https://github.com/aehlke/tag-it/blob/master/README.markdown
如果要您只需加一個你提交功能至極檢查變量sampleTags
$('form').submit(function(e) {
if(sampleTags.length < 2){
var inp = $('#tagInput').val();
$('#tagInput').val('');
$('#tags').tagit('createTag', inp);
sampleTags.push(inp);
}
e.preventDefault();
});
伊夫更新您的小提琴(http://jsfiddle.net/uVxXg/139/)
我希望這個長度適合你:)
謝謝您的回答,一旦達到極限。我將如何顯示最大限制消息。這會在同一個地方嗎? – Garrett
如果添加第三個標籤,則不會執行代碼。但是這種情況還有其他事件。查看更新的答案。 – TheNightmare