2014-05-19 38 views
0

他希望從列表中將所選項目的ID(從控制器中的數據庫中檢索項目)從列表傳遞到它將處理自身的控制器。如何使用JavaScript/jQuery獲取dropdownlist的選定值?

如果該值是一個字符串,但是對於int(具有ID)不起作用,則第一個代碼可以很好地工作。

檢視:

@using (Html.BeginForm("DDL", "Store", FormMethod.Post, 
new { id = "Form1ID", 
     data_PeoplAction = @Url.Action("People") 
})) 
{ 
<fieldset> 
    <label for="Cities">Select a city</label> 
    @Html.DropDownList("Cities", ViewBag.Cities as SelectList, 
    new { id = "CitiesID" }) 
</fieldset> 
} 

<script src="@Url.Content("~/Scripts/populat.js")"></script> 

如果CityCode是如 「LA」, 「NY」 值被正確地傳遞,並且所述控制器改變(INT ID)爲(串碼)數據是正確

ViewBag.Cities = new SelectList(DB.myBase, "CityCode", "CityName"); 

什麼不ID

的Controler工作:

public ActionResult DDL() 
    { 
     ViewBag.Cities = new SelectList(DB.myBase, "CityID", "CityName"); 
     return View(); 
    } 

    public ActionResult People(int ID) 
    { 
     var peop = from s in DB.myBase 
          where s.CityID == CityID 
          select s.Population; 

     ViewBag.Popul = peop; 
     return View(); 
    } 

populat.js:

$('#CitiesID').change(function() { 
    var URL = $('#Form1ID').data('PeoplAction'); 
    $.getJSON(URL + '/' + $('#CitiesID').val(), function (data) { 
    }); 
}); 

第二個取得了良好的ID,但我不能傳遞給控制器​​。

$('#OneID').change(function() { 
    var e = document.getElementById("OneID"); 
    var strUser = e.options[e.selectedIndex].value; 
} 

我會感謝您的幫助

+1

你能否詳細說明「的第一個代碼工作得很好,如果該值是一個字符串,但對於int(其中有ID)是行不通的。」 – Runcorn

+1

我很苦惱你的英語。目前尚不清楚這是失敗的。也就是說,你的第二個函數只需要這個:'var strUser = $(this).val();'而不是你所擁有的兩行。 – isherwood

+0

它工作...沒有任何改變,它的工作...昨天沒有工作...感謝您的興趣。問候 – user3128303

回答

0

你可以使用數據的getJSON,而不是附加到URL attribute選定值發送作爲參數傳遞給指定的URL。希望這可以解決您的問題:

$('#OneID').change(function() { 
     var URL = $('#FormID').data('iLtAction'); 
     var selectedValue = $(this).val(); 
     $.getJSON(URL, { someValue : selectedValue }, function (data) { 
     }); 
    }); 

並從Controller訪問someValue

欲瞭解更多信息getJSON

+0

感謝您的快速回復。不幸的是,「public ActionResult People(int ID)」中的BreakPoint甚至沒有被調用。 – user3128303

+0

任何其他的想法?也許我做錯了什麼...... – user3128303

+0

所以問題是控制器的數據類型,整數與字符串? – Runcorn

相關問題