2017-07-16 132 views
1

我有一个下拉列表中的数据现在加载我想更改选定项目上的下拉按钮上点击,它提供了来自webservice的Id。更改下拉列表按钮上的选定项目点击

下面是我的webmethod:

[WebMethod] 
     public string EditData(int sid) //Show the edit clicked data in the popup window 
     { 
      string jsondata; 
      //var details = new List<Employee>(); 
      DataTable dt = bllsubcat.GetSubCategoryById(sid); 
      jsondata = JsonConvert.SerializeObject(dt); 


      return jsondata; 
     } 

,这是我的Ajax调用:

$(document).on("click", ".editButton", function() { 
         $('#myModal').focus(); 
         var id = $(this).attr("data-id"); 
         console.log(id); 
         $("#btnUpdate").attr("edit-id", id); 
         //alert(id); //getting the row id 
         $.ajax({ 
          type: "Post", 
          contentType: "application/json; charset=utf-8", 
          url: "SubCategoryService.asmx/EditData", 
          data: '{sid: ' + id + '}', 
          dataType: "json", 
          success: function (data) { 
           var subcatdet = $.parseJSON(data.d); 
           $.each(subcatdet, function (index, value) { 
            $("#ddlCategory1").val(value.CategoryName); 
            $("#txtSubCatName1").val(value.SubCategoryName); 
           }); 

          }, 
          error: function() { 
           alert("Error while retrieving data of :" + id); 
          } 
         }); 
        }); 

从上面的代码

$("#txtSubCatName1").val(value.SubCategoryName); 
$("#ddlCategory1").val(value.CategoryName); 

负荷值成功文本框,但所选放下项目下降不会改变。

下面是我的代码加载下拉:

<asp:DropDownList ID="ddlCategory1" runat="server"></asp:DropDownList> 

    <script type="text/javascript"> 
     $(document).ready(function() { 
      $.ajax({ 
       type: "POST", 
       contentType: "application/json; charset=utf-8", 
       url: "SubCategoryService.asmx/LoadCategory", 
       data: "{}", 
       dataType: "json", 
       success: function (r) { 
        var ddlCategory = $("[id*=ddlCategory1]"); 
        ddlCategory.empty().append('<option selected="selected" value="0">Please select</option>'); 
        $.each(r.d, function() { 
         ddlCategory.append($("<option></option>").val(this['CategoryId']).html(this['CategoryName'])); 
        }); 

       }, 
       error: function (Result) { 
        alert("Error"); 
       } 
      }); 
     }); 
    </script> 

回答

0

设置选项珍惜你的路,你的选择应该是有价值的,就像这样:

<select id="ddlCategory1"> 
     <option value="1">Food</option> 
     <option value="2" selected="1">Clothes</option> 
     <option value="3">Drinks</option> 
</select> 

在asp.net C#代码背后它可以是这样的:

ddlCategory1.DataTextField = "CategoryName"; 
ddlCategory1.DataValueField = "CategoryID"; 

然后按类别ID(未命名)这样选择它们:

$("#ddlCategory1").val(value.CategoryID); 

另一种选择是选项的文字像这样来选择:

$('#ddlCategory1 option').filter(function() { 
    return ($(this).text() == value.CategoryName); 
}).prop('selected', true); 
+0

我的期权价值是不喜欢以上,但选项从database.My加载下拉填充数据的基础上,现在我想蒂奥改变按钮点击的值。 –

+0

Hi @Sumit Bhattarai。所以,你的模板也应该设置选项的属性值。例如:。另一个选择名称我已经在答案中提到,也许你可以分享你的选择代码代? –

+0

@Sumit Bhattarai,我编辑了我的答案以包含一个c#代码示例,但这取决于您的填充列表的方式。还在底部固定了选择名称的代码 –

相关问题