1週間以上、 JqueryとAjaxについて質問します。私はまだ問題についてもっと質問があるので、私はまだ答えを利用する方法を知りません。ここに私のaspxページがあります。
<asp:ListView ID="_lsvCostFinder" runat="server" InsertItemPosition = "LastItem">
<LayoutTemplate>
<table>
<tr>
<th>Country</th>
<th>City</th>
<th>Cost(US$)</th>
</tr>
<tr runat="server" id="itemPlaceHolder">
</tr>
</table>
</LayoutTemplate>
<ItemTemplate>
<tr>
<td>
<asp:LinkButton ID="_lnkDelete" runat="server" OnClick = "RemoveDestination">Delete</asp:LinkButton>
</td>
<td>
<asp:DropDownList ID="_ddlCountry" runat="server" OnSelectedIndexChanged="ddlCountry_SelectedIndexChanged" AutoPostBack = "true">
<asp:ListItem Value = "0">CANCEL..</asp:ListItem>
<asp:ListItem Value = "1">USA</asp:ListItem>
<asp:ListItem Value = "2">Germany</asp:ListItem>
<asp:ListItem Value = "3">France</asp:ListItem>
<asp:ListItem Value = "4">GB</asp:ListItem>
<asp:ListItem Value = "5">Congo</asp:ListItem>
</asp:DropDownList>
</td>
<td>
<asp:DropDownList ID="_ddlCity" runat="server" OnSelectedIndexChanged="ddlCity_SelectedIndexChanged" AutoPostBack = "true"
AppendDataBoundItems = "true" Width = "100">
<asp:ListItem Value = "0">CANCEL..</asp:ListItem>
</asp:DropDownList>
</td>
<td>
<asp:TextBox ID="_txtCost" runat="server" Width = "50" AutoPostBack = "true" OnTextChanged = "txtCost_TextChanged"></asp:TextBox>
</td>
</tr>
</ItemTemplate>
<InsertItemTemplate>
<tr>
<td style = "text-align: right; font-weight: bold;" colspan = "3">Total</td>
<td style = "background-color: Silver; border: 2px solid black;">
<asp:Label ID="_lblTotal" Font-Bold ="true" runat="server"></asp:Label>
</td>
</tr>
</InsertItemTemplate>
</asp:ListView>
<br /><br />
<asp:Button ID="_btnNewDestination" runat="server" Text="Add Destination"
onclick="_btnNewDestination_Click" />
私の質問に答えた人は、次のJQueryコードを使用するように提案しました。
$(document).ready(function () {//ready
$('select').change(function () {//select
var id = $(this).attr('id');
if (id.indexOf('_ddlCountry') != -1) {
var nrow = id.match('\\d+');
$.post('Default.aspx/ddlCountry_SelectedIndexChanged', { selectedVal: $(this).val() }, function (data) {
$(this).parents('tr').replaceWith('<tr><td colspan="3"><div>' + $(this).val() + '</div></td></tr>');
});
}
}); //select
});//ready
また、メソッドが次のようになるように署名を変更します
[WebMethod]
public static string MethodName(string selectedVal)
{
return "something";
}
メソッドのシグネチャから、Jqueryajaxリクエストは1つのパラメーターのみを送信していると結論付けます。1つのパラメータだけを送信したくありません。3つ、つまり最初のドロップダウンリストの値、2番目のドロップダウンリストの値、およびテキストボックスの値を送信します。
ajaxリクエストで複数の値を送信するにはどうすればよいですか?
助けてくれてありがとう。