привет. Я хочу получить индекс столбца выбранного элемента в таблице, чтобы использовать, чтобы сделать индикатор цвета в заголовке таблицы, когда мышь перемещается, голова таблицы, содержащей элемент, меняет цвет
это моя функция, которую я создаю
$(function () {
var content = $('tr').children().children().children();
content.hover(function () {
var col2 = $(this).parent().parent().parent();
var index2 = col2.index($(this));
$('tr:first-child :nth-child(' + index2 + ')').css('background-color', 'red')
});
});
благодаря
index
работает только в том случае, если аргумент является дочерним элементом элемента, с которым вы его вызываете. В вашем случае $(this)
является правнуком col2
. Я думаю, вам нужно использовать:
var index2 = col2.index($(this).parent().parent());
Затем вам нужно добавить 1 к index2
когда вы используете его :nth-child
, потому что этот селектор основан на 1.
$('tr:first-child :nth-child(' + (index2+1) + ')').css('background-color', 'red')
<h:form id="form">
<p:growl id="messaget"></p:growl>
<center>
<p:panelGrid columns="#{horaireBean.listCalendrier.size()+1}"
styleClass="horaire1" >
<p:outputLabel >
<center>
<h4>Catégorie/Calendrier</h4>
</center>
</p:outputLabel>
<c:forEach var="cal" begin="1"
end="#{horaireBean.listCalendrier.size()}">
<p:outputLabel
value="#{horaireBean.listCalendrier.get(cal-1).designation}" />
</c:forEach>
<c:forEach var="j" begin="1"
end="#{horaireBean.listCategorie.size()}">
<p:outputLabel
value="#{horaireBean.listCategorie.get(j-1).desigCat}" />
<c:forEach var="i" begin="1"
end="#{horaireBean.listCalendrier.size()}">
<p:selectOneMenu value="#{horaireBean.sequence2}" styleClass="horaire2"
converter="sequenceConverter" >
<f:selectItem itemLabel="#{horaireBean.listehoraire.get(j-1).get(i-1).desigSeq}"/>
<f:selectItems value="#{sequencebean.listeSequence}" var="seq" itemLabel="#
{seq.desigSeq}" itemValue="#{seq}" />
<p:ajax event="change" process="@this" onstart="#{horaireBean.attribuer(j-1,i-1)}"
update=":formheader:enregistrer :formheader:annuler" />
</p:selectOneMenu>
</c:forEach>
</c:forEach>
</p:panelGrid>
</center>
</h:form>'