【问题标题】:how to display particular value when enter the building name and click view button输入建筑物名称并单击查看按钮时如何显示特定值
【发布时间】:2015-09-01 07:10:56
【问题描述】:

我在剑道中使用了剑道 UI 下拉列表和一个剑道蒙版文本框和一个查看按钮,我想在下拉列表中加载所有国家,并在文本框中选择特定国家对应的给定建筑物名称,然后单击查看按钮请帮助

我在视图页面设计中使用 mvc4 razor 设计剑道下拉列表

我的查看页面代码是:

$(document).ready(function(){
    $("#viewbutton").click(function(){
       $.ajax({
       type:'post',
       data:{name:Buildingname},
       url:'@url.Action("GetCountry");
       success:function(data)
       {
          //response particular country name and value  also all country name
         //next what will i do 
         //how to select corresponding country name
       }
    });
});

我的控制器代码是:

public JsonResult GetCountry(string name = null)
{ 
    dataTable dt;
    if(name == null)
    {
       dt = bal.country();
       for(int i = 0; i < dt.Rows.Count; i++)
       {
           ListName.Add(new SelectListItem
           {
               Value = dt.Rows[i]["CountryId"].Tostring(),
               Text = dt.Rows[i]["CountryName"].Tostring()
           });
       }
       return Json(new SelectList(ListName, "Value", "Text"), JsonRequestBehavior.AllowGet);
   }
   else
   {
       dt = bal.country(name);
       ListName.Add(new SelectListItem
       {
          Value = dt.Rows[i]["CountryId"].Tostring(),
          Text = dt.Rows[i]["CountryName"].Tostring()
       });
       return Json(new SelectList(ListName," Value", "Text"), JsonRequestBehavior.AllowGet); 
   }
}

【问题讨论】:

  • 你的ajax方法返回结果了吗?
  • @JitendraYadav 是的,先生以数组格式返回 json 数据,例如:data[0].Text 和 data[0].Value
  • 创建List&lt;SelectListItem&gt;,然后从中创建一个新的SelectList(它已经是一个)并返回一个SelectList,这是毫无意义的额外开销(浏览器不知道c#类)。只需返回包含 2 个属性的匿名对象集合,一个用于 &lt;option&gt;value 属性,一个用于显示文本
  • @StephenMuecke json 返回对象和 ajax 方法响应值 ex:data.Text data.Value sir 值为 k 但如何在下拉列表中设置 selecteditem 的值?
  • 您的意思是要选择您生成的选项之一吗?您选择选项的逻辑是什么 - 您的代码中没有任何内容表明将选择哪个选项

标签: c# asp.net asp.net-mvc asp.net-mvc-4 razor


【解决方案1】:
$.each(data,function(i,item){
 var dropdownlist = $("#mydropdownlist").data("kendoDropDownList");        
        if(item.Selected==true){
            dropdownlist.select(function(dataItem) {
              return dataItem.Text=== item.Text;
            });
        }
    });

【讨论】:

    【解决方案2】:

    在cs中更改代码如下。

    for(int i = 0; i < dt.Rows.Count; i++)
           {
               ListName.Add(new SelectListItem
               {
                   Value = dt.Rows[i]["CountryId"].Tostring(),
                   Text = dt.Rows[i]["CountryName"].Tostring()
                   Selected=dt.Rows[i]["You respective field"].Tostring().Equals(name)?true:false
               });
           }
    

    在javascript中:

    $.each(data,function(i,item){
        //To add item in kedo dropdown use this code
    $("#mydropdownlist").data("kendoComboBox").dataSource.add({ text: item.Text, value: item.Value });
    });
    

    选择特定项目:

    $.each(data,function(i,item){
     var dropdownlist = $("#mydropdownlist").data("kendoDropDownList");        
            if(item.Selected==true){
                dropdownlist.select(function(dataItem) {
                  return dataItem.symbol === item.Text;
                });
            }
        });
    

    【讨论】:

    • 我想在剑道下拉列表中动态选择项目对应的国家名称来给定名称也加载所有国家名称先生。
    • 不工作先生,我想在下拉列表相应建筑物名称搜索的标题文本中显示国家名称
    • @vinothpalaniraj 我添加了“Selected”属性,它会根据您可以设置的内容为您提供国家对应的建筑物名称。标题文本是什么意思?
    • 我的意思是标题文本选择的文本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-11
    • 1970-01-01
    • 2021-10-02
    • 1970-01-01
    • 2016-09-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多