Я изучаю множество ответов на свой вопрос в блогах, также я нашел какое-то решение с этого сайта и попробовал их все. Но я не знаю, почему? Эти решения не решают мою проблему. Я всегда получаю ошибки. Наконец, я нашел решение, которое, как я понимаю, является верным, потому что во многих местах это решение принято. Но это не может снова решить мою проблему.
$("#<%=plusBttn.ClientID%>")
Я получаю эту ошибку, когда пробовал это решение: plusBttn не существует в текущем контексте.
Я использую предсказуемый режим для клиентского режима для своих кнопок и текстового поля. Просто я хочу изменить количество, которое отображается в текстовом поле (QuantityTxtbx), с помощью моих кнопок (minusBttn для уменьшения значения количестваTxtbx и plusBttn аналогичным образом используется для увеличения значения)
На самом деле моя проблема заключается в том, чтобы найти мои элементы управления с помощью ClientID в jscript.
Все коды, показанные выше, находятся в Repeater, ItemTemplate:
Мой код jscript на странице asp.net:
$(document).ready(function () {
$("#<%=plusBttn.ClientID%>").click(function () {
var value = parseInt($("input[id$='QuantityTxtbx']").val());
value = value + 1;
$("input[id$='QuantityTxtbx']").val(value);
});
$("input[id$='#minusBttn_']").click(function () {
var value = parseInt($("input[id$='QuantityTxtbx']").val());
if (value > 1)
value = value - 1;
$("input[id$='QuantityTxtbx']").val(value);
});
});
И мой контроль;
<asp:Button ID="minusBttn" runat="server" Text="-" ClientIDMode="Predictable"/>
<asp:TextBox ID="QuantityTxtbx" runat="server" Text='<%#Eval("Quantity") %>' Enabled="False" EnableTheming="False" EnableViewState="False" Height="16px" Width="16px" Wrap="False"ClientIDMode="Predictable">1</asp:TextBox>
<asp:Button ID="plusBttn" runat="server" Text="+" ClientIDMode="Predictable" />
Хорошо, извините за недоразумение, вот код на стороне моего браузера:
<script type="text/jscript">
$(document).ready(function () {
var plusBttn = $("input[id$='minusBttn']");
$("input[id$='#minusBttn_']").click(function () {
var value = parseInt($("input[id$='QuantityTxtbx']").val());
value = value + 1;
$("input[id$='QuantityTxtbx']").val(value);
});
$("input[id$='#minusBttn_']").click(function () {
var value = parseInt($("input[id$='QuantityTxtbx']").val());
if (value > 1)
value = value - 1;
$("input[id$='QuantityTxtbx']").val(value);
});
});
</script>
<input type="submit" name="ctl00$ContentPlaceHolder1$Repeater1$ctl01$minusBttn" value="-" id="ctl00_ContentPlaceHolder1_Repeater1_ctl01_minusBttn_0" />
<input name="ctl00$ContentPlaceHolder1$Repeater1$ctl01$QuantityTxtbx" type="text" value="2" id="ctl00_ContentPlaceHolder1_Repeater1_ctl01_QuantityTxtbx_0" disabled="disabled" style="height:16px;width:16px;" />
<input type="submit" name="ctl00$ContentPlaceHolder1$Repeater1$ctl01$plusBttn" value="+" id="ctl00_ContentPlaceHolder1_Repeater1_ctl01_plusBttn_0" />