根据控制器asp.net mvc3中的下拉选项填充多个文本框

时间:2012-07-06 10:30:34

标签: asp.net-mvc-3

您好我正在尝试使用asp.net mvc3开发一个Web应用程序我有一个包含下拉列表的视图,当用户选择dropdownlist时,文本框必须自动填写我在控制器中的操作方式我想要的将代码放在我的视图中?

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

假设你有像这样的HTML标记

<select id="states">
  <option value="1">MI</option>
  <option value="1">MI</option>
</select>
<input type="text" id="txtCity1" value="" />
<input type="text" id="txtCity2" value="" />

这个脚本应该填充数据,假设你已经将jQuery加载到你的页面。

$(function(){
 $("#states").change(function(){
     var itemVal=$(this).val();
     $("#txtCity1").val("Selected item is "+itemVal);
     $("#txtCity2").val("Ann Arbor");
 });
});

工作样本:http://jsfiddle.net/JuAhm/4/

如果您正在寻找一种从服务器提取数据并填写文本框的方法,您应该进行jQuery ajax调用并获取JSON格式的数据并读取该JSON并将值设置为不同的文本框。像这样的东西

$(function(){
 $("#states").change(function(){
     var itemVal=$(this).val();

     $.getJSON("Url.Action("GetCities","State")"+"?id=itemVal,function(data){
        if(data.Status=="True")
        {
           //you may set the textbox values here by reading json result here
           //ex :   $("#txtCity2").val(data.Status);
          //If you want to loop thru each items under Cities 
          $.each(data.Cities,function(index,item){
            //  alert(item.Name)
          });
        }
        else
        {
           alert("No data found!");
        }

     });         

 });
});

假设您的控制器名称为State并且您有一个名为HTTPGET的{​​{1}}操作方法,该方法有一个名为GetCities的参数,并返回id个数据格式如下。

JSON