2015-01-05 3 views
1

Я хочу заполнить выпадающий список с помощью webservice и хочу передать выбранное значение контроллеру с помощью ajax, как я могу это сделать, пожалуйста, помогите, вот что я пробовал до сих пор. Вот содержимое, которое находится в моем веб-сервисе, находится в формате json. предположить, что это мой вебсервис https://www.abc.com/webservices/radius.php?jsonзаполнить dropdownlist с помощью webservice в mvc

{ 
    "results" : [{ 
      "zip" : "12345", 
      "city" : "delhi", 
      "distance" : "0.0" 
     }, { 
      "zip" : "123456", 
      "city" : "noida", 
      "distance" : "3.1" 
     }, { 
      "zip" : "123457", 
      "city" : "faridabad", 
      "distance" : "9.1" 
     }, ] 
} 

, что я пытался

$.getJSON('https://www.abc.com/webservices/radius.php?json',function(results){ 
for (var i = 0; i <= s.results.length - 1; i++) { 
     var x = new Option(); 
     x.text = s.results[i].city; 
     x.value = s.results[i].zip; 
     console.log(x); 
     document.getElementById('dd').appendChild(x); 
    } 
}) 

<select id='dd'> 
</select> 

Контроллер

[HttpPost] 
public ActionResult Search(string distance) 
{ 
    //stuffs 
} 

, пожалуйста, помогите, как назвать это WebService и заполнить этот выпадающий список и как передать его контроллер

+0

Ok - Что вы пробовали до сих пор - есть две задачи - 1) Заполняем падение вниз; 2) Отправьте это контроллеру. Вы достигли 1? –

+0

no sir ничего не работает, можете ли вы помочь мне в этом. Я хочу заполнить раскрывающийся список с помощью этого webservice –

ответ

3

Создайте дро pdown:

<select name="MySelect" id="MySelect"> 

</select> 

сейчас в JavaScript, используя JQuery, а также:

var Options = ""; 
$.getJSON('https://www.abc.com/webservices/radius.php?json', function (response) { 
    for (var i = 0; i < response.results.length; i++) { 
     Options += "<option value '" + response.results[i].zip + "'>" + response.results[i].city + "</option>"; 

    } 
}); 

$("#MySelect").append(Options); // appending all options here 

использованием $.ajax:

var Options = ""; 
$.ajax({ 
     url: "https://www.abc.com/webservices/radius.php?json", 
     type: "get", 
     success: function (response) { 
       for (var i = 0; i < response.results.length; i++) { 
        Options += "<option value '" + response.results[i].zip + "'>" + response.results[i].city + "</option>"; 
          } 

      }, 
     error: function() { 
       alert("failure"); 

      } 
     }); 

Here является DEMO FIDDLE для заполнения параметров с помощью JavaScript.

Теперь в действии вы можете получить его значение так:

[HttpPost] 
public ActionResult Search(FormCollection form) 
{ 
    string ddlValue = form["MySelect"].ToString(); 
} 
+0

Я использовал ajax, чтобы сделать то же самое, но в этом случае я совершенно смущен, где и как использовать ajax для этого. пожалуйста, сэр. –

+0

@kanaksinha '' $ .ajax'' также сделает то же самое, что '' $ .getJSON'' –

+0

Я уверен, что он идет на стороне сервера, в вашем веб-сервисе эта ошибка наступает –

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