比方说,我在页面上ListView控件。 每个ListView项有2个dropdownlists和1个文本框。 当第一下拉列表已选择的值改变时,所述第二下拉列表应与根据第一个城市来填充。 Finaly,当选择用于所述第二下拉列表的值,成本应该出现在文本框。
<asp:ListView ID="_lsvCostFinder" runat="server">
<LayoutTemplate>
<table>
<tr>
<th>Country</th>
<th>City</th>
<th>Cost</th>
</tr>
<tr runat="server" id="itemPlaceHolder">
</tr>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr>
<td>
<asp:DropDownList ID="_ddlCountry" runat="server" OnSelectedIndexChanged="ddlCountry_SelectedIndexChanged" AutoPostBack = "true">
</asp:DropDownList>
</td>
<td>
<asp:DropDownList ID="_ddlCity" runat="server" OnSelectedIndexChanged="ddlCity_SelectedIndexChanged" AutoPostBack = "true">
</asp:DropDownList>
</td>
<td>
<asp:TextBox ID="_txtCost" runat="server"></asp:TextBox>
</td>
</tr>
</ItemTemplate>
</asp:ListView>
现在我想用ajax当用户选择的下拉列表不同的值
$('select').change(function () {
$.ajax({
type: "POST",
url: "Default.aspx/DropDownList1_SelectedIndexChanged",
data: "{}",
success: function(msg) {
// Replace the div's content with the page method's return.
//
}
});
我想只更换整个tr元素。 这些是我的问题:
我应该在发送数据? 在下拉列表的价值?
如何更换只包含可触发Ajax调用的下拉列表行 ?
编辑
所有这些方法具有以下签名
protected void ddlCountry_SelectedIndexChanged(object sender, EventArgs e)
这是一个非常漫长而复杂的页面。
感谢您的帮助