2013-10-07 48 views
0

我有2 if语句使用ViewBag值将其绑定到下拉列表如果用户更改ViewBag值如何我可以使用Jquery检测它,例如我有...mvc3 jquery更改ViewBag值

@Html.DropDownList("MyValue", new SelectList(
       new List<Object>{ 
        new{ Text = "10", Value= 10}, 
        new{ Text = "30", Value= 30}}, "Value", "Text")) 

@if (ViewBag.MyValue == 10) 
{ 
    // value is 10 
} 
    @if (ViewBag.MyValue == 30) 
    { 
    // my value is 30 
    } 

正如你所看到的我有一个下拉列表ID myvalue的是有一些方法,我可以让jQuery的做这样的事情

**MyValue.change 
{ 
if (MyValue== 30) 
{ 
// display ViewBag.MyValue== 30 
} 
}** 
+1

基本上,你不能没有调用服务器上更改客户端的任何'ViewBag'值。您应该使用Jason Evans的回答,并在选择列表更改中修改您的页面。作为选项:创建两个id =“value10”和id =“value30”的div,并根据选择的选项显示它们。 $(“#MyValue”)。change(function(){ var selector =“#value”+ $(this).val(); $(selector).show(); });'' – Dmytro

回答

2

试着这么做:

$("#MyValue").change(function() { 
    console.log($(this).val()); 
});