基于第一个 - JQuery 对话框加载第二个下拉列表
Load second dropdown based on first - JQuery Dialog
我需要根据从Jquery对话框中的第一个下拉列表中选择的值更新数据库中的第二个下拉列表。
.ASPX
<asp:UpdatePanel ID="upnl" OnLoad="upnl_Load" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div id="dv" style="display: none;" title="Tile">
<table>
<tr>
<td>Parent</td>
<td>
<asp:DropDownList ID="ddlDialog1" runat="server" /></td>
</tr>
<tr>
<td>Child</td>
<td>
<asp:DropDownList ID="ddlDialog2" runat="server" /></td>
</tr>
</table>
</div >
</ContentTemplate>
</asp:UpdatePanel>
杰奎里
function EditBookingDialog() {
jQuery(document).ready(function () {
$("#dvEditBooking").dialog({
draggable: true,
modal: true,
width: 500,
height: 400
,
open: function (type, data) {
$("#<%= ddlDialog1.ClientID %>").change(function () {
__doPostBack('<%= upnl.ClientID %>', "DialogOnChange");
});
}
});
});
}
代码隐藏
protected void upnl_Load(object sender, EventArgs e)
{
if (arg.ToString().IndexOf("DialogOnChange") > -1)
{
// Here ddlDialog1.SelectedValue is always " ", Even I get a data set of values,ddlDialog2 is not populated with new values
ddlDialog2.DataSource = objMngr.GetData(ddlDialog1.SelectedValue);
ddlDialog2.DataValueField = "Id";
ddlDialog2.DataTextField = "name";
ddlDialog2.DataBind();
}
upnl.Update();
}
这里的问题是,如何在第一个下拉列表中的值更改时填充第二个下拉列表(ddlDialog2)。
知道吗?
您需要添加第一个下拉列表的服务器端更改事件。修改第一个下拉列表的 html,如下所示。
<asp:DropDownList ID="ddlDialog1" runat="server" OnSelectedIndexChanged="upnl_Load()" />
删除 jQuery 更改并手动调用_do回发
$("#<%= ddlDialog1.ClientID %>").change(function () {
$.ajax(function{
url: "/YourPage.aspx"
type:"POST"
data:{"FirstDropDownValue" : $(this).val() }
success:function(msg){
//bind your second dropdown here.
if(msg.d != null)
{
// Looping over list
$.each(msg.d, function (index, value) {
$("#ddlDialog1").append($("<option> </option>").val(value["Id"]).html(value["name"]));
});
}
});
更新服务器端方法,如下所示
[WebMethod]
public static List<Myclass> void upnl_Load( string FirstDropDownValue)
{
if (FirstDropDownValue != "-1")
{
return objMngr.GetData(FirstDropDownValue);
}
upnl.Update();
}
相关文章:
- 加载两个具有相同父密钥名称的json文件
- 分页:如何用AJAX加载第一个页面
- 在离子态上加载多个视图
- 当加载几个js文件时,defer属性应该如何工作
- 正在加载+10个帖子
- 我想在每个按钮点击事件上加载多个图表.我使用了下面的谷歌代码
- 加载多个 JSON 文件
- 如何在生产环境中动态加载多个优化的requirejs模块
- D3.js:通过Force Layout从JSON文件加载多个网络
- 为knockout.js数据绑定加载多个远程数据源
- EXT JS无法同时加载多个页面
- 如何在同一分区中加载多个PHP页面
- Image.complete在加载后为真,但在加载第二个图像后不再为真
- 如何在更改第一个下拉列表后从数据库加载第二个下拉列表
- 基于第一个 - JQuery 对话框加载第二个下拉列表
- jQuery Mobile从新html加载第二个页面
- msdropdown -基于第一个加载第二个下拉列表
- 加载第二个表时隐藏第一个表
- Babylonjs加载两个图像在彼此的顶部与第二个图像是透明的
- 在后台加载第二个网页以从此网页获取内容