이 작업을 수행하는 데 시간이 많이 걸립니다. 간단해야하지만 내가 시도한 모든 경로는 효과가 없습니다.jQuery를 사용하여 드롭 다운이있는 행을 필터링하십시오.
<script type="text/javascript">
$(document).ready(function() {
//filter list by year
$(function() {
$("#ddYear").change(function (evt) {
var year = $("#ddYear").val();
$('tr').show();
$("td[id^='AccessRequestID']").each(function() {
alert("Checking " + this.val);
if ($(this).attr("class") == ".AR_" + year) {
alert("Hiding " + this.val);
$(this).parent().hide();
}
});
});
});
});
</script>
을 그리고 여기 필터링하기 위해 노력하고있어 테이블의 : 내가 처음에이 같은 일을 시도
<div class="index-header">Select a Year to View: <%:Html.DropDownList("ddYear", Model.YearList, null %></div>
<table id="arTable">
<tr>
<th>
Year
</th>
<th>
Version
</th>
<th>
Name
</th>
</tr>
<% foreach (var item in Model.AccessRequests) { %>
<tr class="clickable">
<td id="AccessRequestID<%=item.Access_Request_ID%>" class="<%:string.Format("AR_{0}", item.RECORD_YEAR) %>">
<%: Html.DisplayFor(modelItem => item.RECORD_YEAR) %>
</td>
<td>
<%: Html.DisplayFor(modelItem => item.VERSION_NO) %>
</td>
<td>
<%: Html.DisplayFor(modelItem => item.EMPLOYEE_NAME) %>
</td>
</tr>
<% } %>
</table>
:
$("td[id^='AccessRequestID']").parent().hide().filter('.AR_' + year).show();
가 여기에 jQuery를 내가 지금 사용하고 있어요 그 행렬은 거대하게 필터링되었지만, 그것이 있어야 할 때 다시 되돌아 가지 않았습니다. 그래서 $("td[id^='AccessRequestID']").parent().show;
을 먼저 다시 설정해 보았습니다.하지만 그 일은하지 않았습니다. (내 마지막 시도에서 볼 수 있듯이 .each()
으로 시도해 보았습니다.) 어떤 조언이나 도움을 많이 주시면 감사하겠습니다!
놀라운. 그게 효과가 ... 내가 시도한 여러 가지 접근법이 왜 그렇게되지 않았는가? 나는 꽤 난처한 상황이다! – morganpdx
글쎄, 사실은 분명히 밝혀졌지만, 필자가 필요로했던 것과는 정반대로 작동했지만, if ($ (tdAR) .hasClass ("AR_"+ year) "+ 올해)) '그리고 그것은 위대한 작품 – morganpdx
다행 당신을 위해 일하고있어. if ($ (this) .attr ("class") == "대신에 if ($ (this) .attr ("class ") ==".AR_ "+ year) AR_ "+ year)'('AR'의 infront 기간)이 영향을 미쳤을 수도 있습니다. 또한 필터 버전에서 필터는'td'보다는 부모'tr'에서 작동합니다. 희망이 도움이됩니다. R. –