2011-04-18 96 views
0

我有一個下拉列表如何從Javascript調用Ajax?

<select onchange="alert(this.value);"> 
        <option selected="selected" value="cat">cat</option> 
        <option value="dog">dog</option> 
</select> 

我想就這樣,當用戶變化的值,然後一個AJAX調用發送到我的MVC控制器,然後更新數據庫。

我已經完成了這種形式,但從來沒有從JavaScript。有沒有人有這樣做的例子。

感謝,

回答

1

如果您正在使用jQuery:

<select id="category" name="category"> 
    <option selected="selected" value="cat">cat</option> 
    <option value="dog">dog</option> 
</select> 

然後:

$(function() { 
    $('#category').change(function() { 
     $.post('/home/save', { selectedCategory: $(this).val() }, function(result) { 
      alert('success'); 
     }); 
    }); 
}); 

將發送一個AJAX請求以下行動:

[HttpPost] 
public ActionResult Save(string selectedCategory) 
{ 
    // TODO: process the selected category 
    return Json(new { success = true }); 
} 
+0

感謝您的快速回復。如果不使用jQuery?由於我希望保持一切簡單,並且希望儘可能快地加載我的頁面,因此我已經遠離了使用這種方式。不知道這是否有所作爲,但我使用的是MVC3。 – Hiroki 2011-04-18 06:56:58

+0

@Hiroki,jQuery默認在ASP.NET MVC 3中發佈,我強烈建議你使用它。爲了實現相同的功能(使用跨瀏覽器),您將需要使用純JavaScript編寫的JavaScript代碼的數量不值得。當然,你仍然可以使用普通的JavaScript來做到這一點。定義一個你會在'onchange'事件中調用的自定義函數,然後把你的AJAX代碼放在那裏。 – 2011-04-18 06:58:36

+0

對不起,打擾你更復雜,但我也想發送另一個領域的價值的行動。我如何適應上述呼籲?再次感謝。 – Hiroki 2011-04-18 06:59:50