Как настроить динамические сгенерированные текстовые поля с помощью javascript

Вопрос:

У меня есть TextBox который генерируется в GridView динамически. Когда вы просматриваете страницу, TextBox выглядит следующим образом. Я пытаюсь найти способ нацелить этот TextBox и все другие TextBoxes в этом GridView чтобы я мог запускать скрипт против них. У меня много проблем с поиском способа прицелиться в это текстовое поле. Я попытался установить класс стиля в GridView и вызвать его, но он, похоже, не работает.

<input name="ctl00$MainContent$controlProductsList1$gvItems$ctl04$Option-30482_e0edc10a-7dba-40d0-a4f1-7c4c5801c0ca" type="text" id="MainContent_controlProductsList1_gvItems_Option-30482_e0edc10a-7dba-40d0-a4f1-7c4c5801c0ca_2">

Каков наилучший способ использования javascript для таргетинга на TextBox, которые динамически генерируются в GridView?

Можете ли вы дать gridview классу и вызвать только этот класс?

Это сценарий, который должен будет ориентироваться на входные данные

$('#inputID').keyup(function(){
this.value = this.value.toUpperCase();
});

Лучший ответ:

Поскольку вы, кажется, используете jQuery, проверьте свои параметры на странице селектора JQuery. Один из вариантов — использовать общий селектор входов, например:

$("#<%=gvItems.ClientID%> :input").keyup(function(){
      this.value = this.value.toUpperCase();
});

В приведенном выше коде предполагается, что ваш элемент управления называется gvItems и отобразит идентификатор клиента в виде сетки для использования в селекторе JQuery ID (# MainContent_controlProductsList1_gvItems…) и найдет все входные дочерние элементы (: input).

Другим вариантом было бы поставить класс непосредственно на элементы управления ввода:

$(".inputClass").keyup(function(){
    this.value = this.value.toUpperCase();
});

Ответ №1

Одной из идей может быть добавлен класс css в текстовое поле. Если он генерируется вашим кодом динамически.
А затем используйте селектор классов в вашем jQuery.

  $('.inputcss').keyup(function(){
this.value = this.value.toUpperCase();
});

Или даже вы можете использовать id gridview и найти вход: текст внутри gridview и использовать вашу функцию. Ниже приведен пример кода

 $('#<%=grid.ClientID%>')
.find('tr')
.each(function(row) {
$(this).find('input')
.each(function(col) {
$(this).keyup(function(){
this.value = this.value.toUpperCase();
});

}
});
});

});

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

И если вы хотите показать только в верхнем регистре, вы можете использовать css следующим образом

 h1 {text-transform:uppercase;}

Подробнее

http://www.w3schools.com/cssref/pr_text_text-transform.asp

Оцените статью
TechArks.Ru
Добавить комментарий