2013-08-05 2 views
-2
$('#btnAfterExtraServicesSelected').die('click').live('click', function() { 

    var keys = $('#extras input:checked').map(function() { return $(this).val(); }).get(); 
    var pets = $('#pets input:checked').map(function() { return $(this).val(); }).get(); 
    var selectedExtraServices = {}; 

    for (var i = 0, l = pets.length; i < l; i++) { 
     if (pets[i]) { 
      var selectedPetKeys = []; 
      var name = pets[i] + '-'; 
      for (var j = 0, k = keys.length; j < k; j++) { 
       if (keys[j].substring(0, name.length) == name) { 
        selectedPetKeys.push(keys[j].substr(name.length)); 
        } 
      } 
    selectedExtraServices['extras-' + pets[i]] = (selectedPetKeys.join('+') || '-'); 
    selectedExtraServices['rextras-' + pets[i]] = null; 
         } 
        } 

$('#available-rooms').load('/PetBooking/GetAvailableRoomsForTimesAndDates/', {'selectedExtraServices': selectedExtraServices }, function() { 

        }); 

        return false; 
       }); 

Мне нужно передать «selectedExtraServices» массив в виде строки в «нагрузки()» method.How я мог достичь этого?Преобразование JQuery массив в строку

selectedExtraServices объект JQuery, как показано ниже:

enter image description here

+0

Почему именно это нужно преобразовать в строку? – crush

+1

«JSON.stringify», но я не уверен, почему вы хотите его как строку в первую очередь. – MightyPork

+0

@crush b'cos мой контроллер принимает только строку. – Sampath

ответ

1

Попробуйте

$('#available-rooms').load('/PetBooking/GetAvailableRoomsForTimesAndDates/', {'selectedExtraServices': JSON.stringify(selectedExtraServices) }, function() { 

}); 
+0

Спасибо за поддержку. – Sampath

1

Почему бы вам не использовать JSON.stringify?

{'selectedExtraServices': JSON.stringify(selectedExtraServices)} 
+0

+1 для поддержки. – Sampath

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