2013-11-15 2 views
0

Число полей поиска автозаполнения является динамическим на основе #AddButton. Autocomplete работает, но когда я выбираю значения, он не отображает его правильно. Пожалуйста, скажите мне, где я пропал без вести. Fiddle установка на http://jsfiddle.net/jakenrush/kELm3/1/автозаполнение не выбрано

Jquery код ниже

$(function() { 
var projects = [ 
    { 
     "label": "ajax", 
     "value": "1003", 
     "desc": "foriegn" 
    }, 
    { 
     "label": "jquery", 
     "value": "1000", 
     "desc": "dd" 
    }, 
    { 
     "label": "wordpress theme", 
     "value": "1000", 
     "desc": "h" 
    }, 
    { 
     "label": "xml", 
     "value": "1000", 
     "desc": "j" 
    }]; 

$("#addButton"); 
var counter = 13; 

$("#addButton").click(function() { 
    var newTextBoxDiv = $(document.createElement('div')) 
      .attr("id", 'TextBoxDiv' + counter); 

    var roleInput = $('<input/>', { 
     type: 'text', 
     placeholder: 'Role', 
     name: 'Role' + counter, 
     id: 'project-description' + counter 
    }); 

    var searchInput = $('<input/>', { 
     type: 'text', 
     placeholder: 'search', 
     name: 'search' + counter, 
     id: 'project' + counter 
    }); 

    var hidd = $('<input/>', { 
     type: 'hidden', 
     name: 'searchhid' + counter, 
     id: 'project-id' + counter 
    }); 


    newTextBoxDiv.append(roleInput).append(searchInput).append(hidd); 
    newTextBoxDiv.appendTo("#TextBoxesGroup"); 
    $("#project" + counter).autocomplete({ 
     minLength: 0, 
     source: projects, 
     focus: function(event, ui) { 
      $("#project" + counter).val(ui.item.label); 
      return false; 
     }, 
     select: function(event, ui) { 
      $("#project" + counter).val(ui.item.label); 
      $("#project-id" + counter).val(ui.item.value); 
      $("#project-description" + counter).val(ui.item.value); 
      $("#project-icon" + counter).attr("src", "images/" + ui.item.icon); 
      return false; 
     } 
    }) 


    counter++; 
}); 

}); 

HTML код:

<div id="project-label"></div> 

<input type="hidden" id="project-id" /> 



<div id='TextBoxesGroup'> 
<div id="TextBoxDiv1" class="form-inline control-group"> 

</div> 
</div> 
<input type='button' value='Add' id='addButton' /> 

ответ

0

я есть обновить скрипку, и она работает, проблема с встречным переменной, которая никогда не была incremented, потому что у вас есть место в конце скрипта, но над ним есть оператор return.

вашей скрипка здесь http://jsfiddle.net/kELm3/6/

var counter = 0; 
$("#addButton").click(function() { 
    counter++; 
+0

Но увеличивающийся счетчик на первом не будет работать с правильной логикой. Потому что, если u добавил уже 10 новых строк, и если u начнет поиск в первом автозаполнении, результат будет отображаться в последней добавленной строке. – user2991484

Смежные вопросы