2015-10-22 5 views
1

Я попытался следующий кодКак получить контроль текстовое поле внутри GridView с помощью JQuery

$(document).ready(function() { 

     alert("test"); 
     var $arrT = $('#<%=gvView.ClientID %>').find('input:text[id$="txtRow"]'); 
     alert($arrT.length); 

     var $txt = $arrT[0]; 
     alert($txt); 

    }); 

</script> 

Длина всегда 0 и $ TXT является неопределенным. Я новичок в jquery. Пожалуйста помоги. Что я делаю не так. Вот мой GridView

 <Columns> 
      <asp:TemplateField HeaderText="LineNo"> 
      <ItemTemplate> 
      <asp:Label ID="lblLineno" runat="server"></asp:Label> 
     </ItemTemplate> 
</asp:TemplateField> 
    <asp:TemplateField HeaderText="IsEmployee"> 
    <ItemTemplate> 
     <asp:CheckBox ID="chckIsEmp" runat="server" /> </ItemTemplate> </asp:TemplateField> 
    <asp:TemplateField HeaderText="EmpNo"> 
    <ItemTemplate> 
     <asp:TextBox ID="txtcostcenter" runat="server" ></asp:TextBox> 
     </ItemTemplate> 
</asp:TemplateField> 
</Columns> 
    </asp:GridView> 
+0

'<% = gvView.ClientID%>' не будет интерполировать в ваш вызов селектора. Помимо jquery/javascript, на каком языке вы используете? – sbonami

+1

@ScottBonAmi hes using 'asp.net' кажется –

+0

Вы, скорее всего, получите ответ от экспертов' asp.net', если вы пометите его в вопросе и укажите, какую версию вы используете ... –

ответ

0

Вот возможные вопросы.

  1. В вашем asp.net управления GridView, с следующей реализации вы ориентируетесь на входной контроль, который заканчивается с идентификатором = 'txtRow. Проверьте и убедитесь, что обработанное управление ввода имеет идентификатор, заканчивающийся на «txtRow». В противном случае ваш оператор оповещения будет возвращать 0.

    var $ arrT = $ ('# <% = gvView.ClientID%>'). Find ('input: text [id $ = "txtRow"]'); предупреждение ($ arrT.length);

  2. Если выше причина сбоя не будет выбран элемент, поэтому следующий оператор вернет «неопределенными»

    вар $ TXT = $ ARRT [0];

  3. Если обе вышеуказанные причины проходят, и вы хотели бы получить значение выбранного элемента, вы можете сделать это:

    оповещения ($ ($ ARRT) .val());

Вот пример, который может помочь вам четко понять вещи. (Так как я не могу запустить код веб-формы asp.net без механизма asp.net, ссылка в примере находится в контексте с html).

+0

http://jsfiddle.net/qbxrq7f4/1/ – DinoMyte

+0

тонированное управления <имя входного = "ctl00 $ м $ g_d93e0e6d_30c5_4d0f_ab52_62a6edce8078 $ ctl00 $ grdView $ ctl02 $ txtcostcenter" ID = типа "ctl00_m_g_d93e0e6d_30c5_4d0f_ab52_62a6edce8078_ctl00_grdView_ctl02_txtcostcenter" = "текст" /> И я пытался вар $ item = $ ("# grdViewOpenNewCC"). find ("input: text [id $ = 'center']"); И предупреждение показывает объект, но когда я добавляю предупреждение ($ ($ item) .val()); Он по-прежнему не определен. – Janet

0

Просто Изменить

('input:text[id$="txtRow"]' `TO` ('input:text[id$="txtcostcenter"]') 

$(document).ready(function() { 

     var $arrT = $('#<%=gvView.ClientID %>').find('input:text[id$="txtcostcenter"]'); 
     alert($arrT.length); 

    }); 
Смежные вопросы