#javascript #asp.net
#javascript #asp.net
Вопрос:
я использую radgrid в asp.net и я хочу получить доступ к метке radgrid с именем «editor_status» в javascript…it недоступен в javascipt … с другой стороны, если я беру простую метку за пределами сетки, то она доступна в javascript … я попробовал следующий код:
HTML:
<telerik:GridTemplateColumn DataField="Editor_status" HeaderText="Editor_status" ReadOnly="true">
<ItemTemplate>
<asp:Label ID="Editor_status" runat="server" Text='<%#Eval("Editor_status")%>' BackColor="SkyBlue" Font-Size="14px"></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<script>
$(document).ready(function () {
var a=document.getElementById('<%=editor_status.ClientID%>').innerText;
});
</script>
это не может быть доступ к ярлыку…
с другой стороны, если я возьму просто label like вне radgrid
<label id="editor_status1" runat="server" >Available</label>
тогда он доступен в javascript …. как я могу получить доступ к label внутри radgrid..
Комментарии:
1. Я бы предположил, что, поскольку он находится в сетке, потенциально создано более одной копии метки? Может быть, по одному в каждой строке сетки? Поэтому нет логического смысла пытаться получить по идентификатору …. какую копию метки вы пытаетесь прочитать?
Ответ №1:
Поскольку вы используете grid, поэтому вы не можете напрямую обращаться к label внутри grid, но вы можете создать функцию javascript для доступа к каждой из меток внутри radgrid.
$(document).ready(function () {
$.each($find("<%=RadGrid1.ClientID %>").get_dataItems(), function (index, value) {
if (value.findElement("Editor_status") == null)
{
var a = value.findElement("Editor_status").innerText;
}
});
});
Попробуйте это, это должно сработать.
Комментарии:
1. если вы используете MasterTableView, то вам нужно несколько изменить логику в методе $.each, например $.each($find(«<%= RadGrid1. ClientID %>»).get_masterTableView().get_dataItems(), функция (индекс, значение)