Проблема с вызовом функции mask в jquery?

#jquery #asp.net

#jquery #asp.net

Вопрос:

Мой вопрос в том, как я буду вызывать функцию jquery.. Пожалуйста, проверьте мои коды, если есть какие-то корректировки..

jquery

 jQuery(function($){
   $("txtPhone").mask("(999) 999-9999");
});
  

asp.net

 <script src="insurance.js" type="text/javascript">   </script>
<script src="jquery.maskedinput.js" type="text/javascript"></script>

amp;nbsp;<asp:TextBox ID="txtPhone" runat="server"></asp:TextBox>
  

Ответ №1:

Я думаю, это должно быть так

 $(function(){
   $('<%= txtPhone.ClientID %>').mask("(999) 999-9999");
});
  

Ответ №2:

 jQuery(function($){
   $('<%=txtPhone.ClientID%>').mask("(999) 999-9999");
});
  

Редактировать

 jQuery(function($){
       $('.mask').mask("(999) 999-9999");
    });

<asp:TextBox CssClass="mask" ></asp:TextBox>
  

Ответ №3:

Я предполагаю, что вы используете этот плагин.

http://digitalbush.com/projects/masked-input-plugin/

Измените свой jquery, чтобы перед «txtPhone» стоял «#», вот так

 jQuery(function($){
   $("#txtPhone").mask("(999) 999-9999");
});
  

Ответ №4:

Ответы Говинда и Эдгара близки, потому что они обрабатывают ClientID. Это требуется, если текстовое поле находится в другом элементе управления контейнера. Однако, без префикса # в селекторе, jQuery попытается найти все теги с именем «txtPhone» (или эквивалентом ClientID). Используйте селекторы, подобные этому, когда вам нужно получить что-то вроде всех тегов div, td, label и т.д. На странице, А не когда вы хотите выбрать тег со значением ID txtPhone. Чтобы использовать идентификатор в качестве селектора, вам нужно добавить к селектору префикс # .

Ответ Говинда на редактирование работает, но не подходит для добавления определенной маски к определенному элементу управления. Это будет хорошо работать, если у вас есть список элементов управления, которым нужна похожая маска. Вместо того, чтобы перечислять их все по идентификатору в одном селекторе или использовать несколько селекторов, вы можете использовать класс для применения маски ко всем элементам управления, которым нужен, например, «phone».

Ответ Швехеля является наиболее правильным, но не учитывает ClientID. В вопросе не указан контекст, чтобы узнать, требуется ли ClientID, но не помешает добавить его на всякий случай.

Используйте этот код:

 $(function(){
    $('#<%= txtPhone.ClientID %>').mask("(999) 999-9999");
});