app/assets/javascripts/lolita/tab.js in lolita-3.2.0.rc.5 vs app/assets/javascripts/lolita/tab.js in lolita-3.2.0.rc.6
- old
+ new
@@ -1,5 +1,7 @@
+//= require jquery
+//= require jquery-ui-1.8.13.min
$(function(){
// Send ajax request with all forms data for given tabs block.
function save_tab(tabs){
var data=""
tabs.find("form").each(function(){
@@ -40,13 +42,13 @@
if ( event.keyCode == 46 || event.keyCode == 8 ) {
// let it happen, don't do anything
}
else {
// Ensure that it is a number and stop the keypress
- if (event.keyCode < 48 || event.keyCode > 57 ) {
+ if (!((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105))) {
event.preventDefault();
- }
+ }
}
})
$("select[data-polymorphic-url]").live("change",function(){
var url = $(this).attr("data-polymorphic-url")
@@ -72,7 +74,34 @@
}
}
})
})
+
+ $("input[data-autocomplete-url]").live("keyup.autocomplete", function(){
+ $(this).autocomplete({
+ source: function(request, response){
+ $.getJSON(this.element.data("autocomplete-url"), {
+ term: request.term
+ }, response)
+ },
+ focus: function(){
+ return false;
+ },
+ select: function(event, ui){
+ console.log(ui.item.value);
+ var li = $("<li></li>").appendTo($(this).closest(".autocomplete-container").find("ul"));
+ li.text(ui.item.value);
+ $("<a href=''></a>").text(ui.item.delete_link).appendTo(li);
+ $("<input type='hidden'>").attr("name", ui.item.name).val(ui.item.id).appendTo(li);
+ this.value = "";
+ return false;
+ }
+ });
+ });
+
+ $(".autocomplete-container ul li a").live("click", function(){
+ $(this).closest("li").remove();
+ return false;
+ })
})