2013-04-21 3 views
0

Я изучаю ответы на многие блоги по моему вопросу, также я нашел какое-то решение с этого сайта, и я попробовал их все. Но я не знаю, почему? Эти решения не исправляют мою проблему, я всегда получаю ошибки. Наконец-то я нашел решение, которое я признаю, это правда, потому что во многих случаях это решение принято. Но это не может решить мою проблему еще раз.Использование ретранслятора и jQuery вместе

$("#<%=plusBttn.ClientID%>") 

Я получаю эту ошибку, когда пробовал это решение: plusBttn не существует в текущем контексте.

Я использую предсказуемый режим для режима клиента для своих кнопок и текстового поля. Просто, я хочу изменить количество, которое показано в текстовом поле (QuantityTxtbx), с контролем моих кнопок (минусBttn для уменьшения значения valueTxtbx и 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" /> 

Ok извините за недоразумение, вот кодирует мой браузер стороны:

<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" /> 
+0

, что делает выход HTML и сценарий похож на источник браузера? – charlietfl

+0

Они находятся в повторителе и в таблице. Эти кнопки и текстовые поля, о которых я говорил в одном и том же формате. – user2304054

+0

jscript, который я использовал для управления ими. (Чтобы изменить значение текстового поля) – user2304054

ответ

0

попробуйте использовать следующий код:

$("#<%#Container.FindControl("plusBttn").ClientID%>") 

Мы уже знаем главную страницу chagnes идентификаторов на основе содержимое ContentPlaceHolder и с ретранслятором он итерации новых идентификаторов для любого соединения с базой данных. jquery .FindControl работает хорошо с вашим идентификатором клиентской базы plusBttn.

затем обновить JQuery скрипт, может быть:

$(document).ready(function() { 
var plusBttn = $("#<%#Container.FindControl("plusBttn").ClientID%>"); 
$("#<%#Container.FindControl("minusBttn").ClientID%>").click(function() { 
    $("#<%#Container.FindControl("QuantityTxtbx").ClientID%>").val(); 
    }); 
$("#<%#Container.FindControl("minusBttn").ClientID%>").click(function() { 
    $("#<%#Container.FindControl("QuantityTxtbx").ClientID%>").val(); 
    }); 
}); 

 Смежные вопросы

  • Нет связанных вопросов^_^