내 테이블의 데이터에 JQuery 템플릿을 사용하고 있으며 CSS가 쿼리 템플릿 스크립트의 테이블 행을 인식하고 원하는 스타일을 지정하지만 어떤 이유로 동일한 식별자를 사용하여 동일한 행을 $() 클릭 할 수 없습니다. 여기에 테이블의 코드는 다음과 같습니다 JQuery가 테이블 행을 인식하지 못함
그리고 JQuery와
<script id="donorTemplate" type="text/x-jquery-tmpl">
<tr id="indexTR">
<td>${Person.LastName}, ${Person.FirstName}</td>
<td>${Address.Address1}</td>
<td>${PhoneContact.PhoneNumber}</td>
<td>${EmailContact.EmailContactx}</td>
<td>${Company.CompanyName}</td>
<td><a href="/Donation/Index?id=${Person.PersonID}">Add Donation</a></td>
<td> <a href="/Person/Edit?id=${Person.PersonID}">Edit</a> <a href="/Person/Delete?
id=${Person.PersonID}">Delete</a>
<input type="hidden" id="hiddenField" value="${Person.PersonID}"/>
</td>
</tr>
</script>
<div id="searchresults">
<table id="donor-list">
<thead>
<tr>
<th id="f" width="150">Name: </th>
<th width="180">Address: </th>
<th width="85">Phone: </th>
<th width="150">Email: </th>
<th width="100">Company: </th>
<th width="100"></th>
<th id="l" width="100"></th>
</tr>
</thead>
<tbody id="tableBody">
</tbody>
</table>
....
모든 멋쟁이 ...하지만이 작동하지 않습니다
$("#donorSearch").submit(function (event) {
event.preventDefault();
var form = $(this);
$.getJSON(form.attr("action"), form.serialize(), function (data) {
$("#tableBody #indexTR").remove();
$("#donorTemplate").tmpl(data).appendTo("#tableBody");
});
});
:
$("#indexTR").click(function() {
alert('test');
});
이것이 제가 TR 클릭으로하려고하는 것입니다 :
var val = $("#hiddenField").val();
var personID = parseInt(val);
location.href = "/Person/Details?id=" + personID;
이전에 JQuery 템플릿으로 전환 할 때까지 작동했습니다. 어떤 제안? 감사!
대기 ... 동일한 'indexTR'ID를 가진 요소가 여러 개입니까? – gdoron
제가 생각하기에 ... 매번 다른 데이터가있는 행에 테이블을 추가하고 있기 때문에 ... 대신에 @foreach 내에서 동일한 테이블 행을 사용하기 전에 모델 대신 JQuery 템플릿을 사용하고 각 클릭에 대해 행 ... – 1Canuck16
그래서 ** 잘못된 HTML ** 변경 이드에서 클래스로! 내 대답이 너를 도울 것 같아. – gdoron