2016-01-30 4 views
1

я назвал URL с помощью AJAX, используя следующий код, приведенный ниже, и он возвращается 2 элемента в массиве в этом формате [ «item1», «item2»]Как добавить вернулся JavaScript элементы массива в конкретных текстовых

function getbook() 
{   
    $.ajax({ 
     type: "POST", 
     url: "/Home/getBooked", 
     data: { "bookNumber": mobile }, 
     success: function(succ) { // I need to add the items in succ to some text boxes as shown below 
      $.each(succ, function (index, element) { 
        $('#tb1').val(element); 
        $('#tb2').val(element); 
      });       
     }, 
     error: function(err) { 
      alert("An error is thrown"); 
     } 
    }); 
} 

Но проблема в том, что в обоих текстовых окнах показан только последний элемент массива succ. Когда я использовал функцию предупреждения для отображения содержимого succ, он отобразил оба элемента. Ясно, что я чего-то не хватает. Буду рад, если кто-нибудь сможет помочь.

+0

Ваш цикл добавление каждого элемент в каждое текстовое поле, а вторая итерация переопределение первого. Я предполагаю, что вы хотите '$ ('# tb1'). Val (succ [0])' и '$ ('# tb2'). Val (succ [1])' –

+0

Спасибо @StephenMuecke –

ответ

1

Проблема в том, что вы устанавливаете значение на каждой итерации. Попробуйте следующее.

success: function (succ) { 
    $('#tb1').val(succ[0]); 
    $('#tb2').val(succ[1]); 
} 
1
if the IDs of textbox is kind of sequence then we can resolve like bellow: 

     $.each(succ, function (index, element) { 
      $('#tb'+ (index + 1)).val(element); 
     }); 
Смежные вопросы