2015-01-14 4 views
0

Я пытаюсь создать флажки для динамических данных, полученных из базы данных.Как я могу добавить флажки в свой ответ ajax

JQuery и AJAX вызова:

$("#destinationName").autocomplete({ 
    source : function(request, response) { 
     $.ajax({ 
      url: "${pageContext.request.contextPath}/showDestinations", 
      type: "POST", 
      data : { term : request.term }, 
      dataType : "json", 
      success : function(data) { 
       alert(data); 
      } 
     }); 
    } 
}); 
<label>Destination</label> 
<input type="text" id="destinationName" name="destinationName" value="${Form.destinationName}" class="field" /> 

Ответ получен, когда я держал предупреждение:

[ "abc", "def"] 

Просьба предоставить ваши ценные предложения. Будучи новичком в AJAX и jQuery, мне приходится сталкиваться с трудностями при получении этого результата.

+1

это один ожидаемый ответ? – StateLess

+0

Вы можете попробовать проверить этот ответ. В нем говорится об использовании jQuery для создания флажков с использованием ввода текста. http://stackoverflow.com/questions/2055459/dynamically-create-checkbox-with-jquery-from-text-input – r12

+0

Функциональность автозаполнения была установлена ​​в поле назначения. Мое новое требование - добавить флажки к этой автофункции, чтобы я мог выбрать несколько флажков. надеюсь, вы поняли мою точку зрения. – Jalal

ответ

0

Вы можете попробовать что-то вроде этого

success: function(data) { 
 
    $("#resultDiv").html(""); 
 
    $.each(data, function(i, record) { 
 
    $("#resultDiv").append("<input type='checkbox' id='chk-" + i + "' name='" + record + "' /> " + record); 
 
    }); 
 
}

+0

Это сработало для меня, однако мой результат не меняется в соответствии с текстом или ввод строки. результат отображается только в первый раз с флажками, и он не изменяется на входе. – Jalal

+0

На какое событие вы называете это ajax? – progrAmmar

+0

Я использую автозаполнение jquery. когда я вхожу в M или M.COM, все результаты, включая это письмо или текст, будут отображаться как автоматическое предложение. Мне нужна такая же функциональность с флажками. – Jalal

0

Вы можете попробовать это: http://jsfiddle.net/4wf3rq04/

use $.each(function(){...}) 
+1

Большое вам спасибо! :) Это сработало – Jalal

+0

Мое удовольствие Примите мой ответ, если он действительно работает –

+0

его не позволяет принять более одного ответа :( – Jalal

0

Вы можете использовать следующий код

success: function (data) { 
       if (data.d != null) { 

        var temp = data.d; 

        if (temp != '') { 

         var Response = temp.split(","); 

         if ((Response != '') && (Response.length > 0)) { 

          for (i = 0; i < Response.length; i++) { 
           $("#resultDiv").append("<input type='checkbox' id='chk-" + i + "' name='" + Response[i] + "' /> " + Response[i]); 

          } 
         } 

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