将asp.net下拉列表控件与从jquery中的数据库中获取的值绑定

时间:2015-07-21 07:02:03

标签: javascript jquery html asp.net

我在page_load事件期间将值获取到下拉列表,该事件从数据库中提取数据。

<asp:DropDownList ID="ddlSelectGrp" runat="server"  OnSelectedIndexChanged="ddlSelectGrp_SelectedIndexChanged"></asp:DropDownList>
page_load事件中的

代码:

 protected void Page_Load(object sender, EventArgs e)
    {
      GetGroupDropDowndata();
    }

protected void GetGroupDropDowndata()
    {
        DataTable groupsData = lookupCache.AccessLookupData(Constants.GroupSelectionFilter.ToString());
        if (groupsData != null && groupsData.Rows.Count > 0)
        {
            groupsData.DefaultView.Sort = "DropDownValue";
            groupsData = groupsData.DefaultView.ToTable();

            ddlSelectGrp.DataSource = groupsData;
            ddlSelectGrp.DataTextField = "DropDownValue";
            ddlSelectGrp.DataValueField = "DropDownBoxID";
            ddlSelectGrp.DataMember = "DropDownGroup";
            ddlSelectGrp.DataBind();
            ddlSelectGrp.Items.Insert(1, Constants.GroupAll.ToString());
            ddlSelectGrp.SelectedIndex = 1;
            btnGroupSave.Enabled = true;
            btnGroupSave.CssClass = "saveButton";
            //RadAutoGrpSelect.Enabled = false;
        }
    }

我正在将数据从第一个下拉列表复制到另一个下拉列表。我使用jquery的一些示例数据测试了相同的内容,它对我有用。 这是代码:

<html>
<head id="Head1">
<title>jQuery Clone Dropdown list with selected value</title>

<body>
<select name="SelectService" class="selService">
    <option value="1">Some service</option>
    <option value="2">Another one</option>
    <option value="3">One more</option>
</select>
<input type="button" id="btnclone" value="Clone Dropdown">
<div id="target">
</div>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.js"></script>
<script type="text/javascript">
    $('#btnclone').click(function () {
        var original = $('select.selService:eq(0)');
        var allSelects = $('select.selService');
        var clone = original.clone();

        $('option', clone).filter(function (i) {
            return allSelects.find('option:selected[value="' + $(this).val() + '"]').length;
        }).remove();

        $('#target').append(clone).append('<br />');
    });
</script>

有人可以告诉我如何使用asp.net dropdownlist控件实现相同的功能,并从db(在jQuery中)获取值吗? 我的意思是如何将jquery中的控件与值绑定?

2 个答案:

答案 0 :(得分:0)

  

我刚刚查看了视图源代码,id ddlSelectgrp即将出现   ctl00 $ ChangeGroupPopup $ C $ ddlSelectGrp。如果是这个原因,我们怎么办?   解决它?

[评论:]你可以使用<%=ddlSelectgrp.ClientID %>来获取dropdownlist控件id的渲染结果。

答案 1 :(得分:0)

我想这最终很简单。我在asp.net下拉列表控件中添加了一个类,它对我有用。

这是jquery:

<script type="text/javascript">
$('#btnClone').click(function () {<script type="text/javascript">$('#btnClone').click(function () {
var original = $('select.ddlClone(0)');
var allSelects = $('select.ddlClone');
var clone = original.clone();$('option', clone).filter(function (i) {
    return allSelects.find('option:selected[value="' + $(this).val() + '"]').length;
}).remove();
$('#target').append(clone).append('<br /><br /><br />');});