페이지로드시 json 호출을 사용하여 jquery 템플릿 플러그인을 사용하여 테이블에 동적으로 데이터를로드하는 간단한 웹 페이지가 있습니다. 이 테이블에서 buttons/div 또는 클릭 할 수있는 항목을 넣으면 해당 열의 내용을 편집하는 새 페이지가 열리는 함수를 넣을 수 있습니다.동적으로 생성 된 테이블에서 Jquery가 작동하지 않습니다.
문제는 jquery 물건이 내가 테이블에 넣은 버튼에서 작동하지 않는다는 것입니다. 테이블에서 같은 버튼을 누르면 (즉, 동적으로 생성하지 않음) 잘 작동하지만 그 다음에 열 하나당 하나의 버튼이 표시되지 않습니다. 여기
내가 페이지로드$(document).ready(function() {
$.ajax({
type: 'POST',
dataType: "json",
url: "http://server:8000/categories/list",
success: function (data) {
LoadCategories(data['CategoryList']);
}
});
$(".editButton").button(); // using jquery-ui
$(".editButton").click(function() {
alert("Button has been clicked");
});
});
에있는 내 템플릿 모습입니다
<script id="catTemplate" type="text/x-jquery-tmpl">
<tr id="$CategoryId">
<td> <button id="edit-${CategoryId}" class="editButton"> Edit</button> </td>
<td> ${CategoryName}</td>
<td> ${OtherValue} </td>
</tr>
</script>
제대로 테이블 하중과 모든 것을 그 JQuery와 물건이 적용되지 않습니다 그냥 그렇게 동적으로 생성 된 항목. 왜 그런가, 그리고 내가 원하는 것을하기 위해 버튼을 어떻게 얻을 수 있을까?
일 안에이 라인을 넣어 **와 ** 사용에 대한주의'.live()' – andyb
크로스 도메인 아약스 호출은 동기식이라고 읽었습니다. 내가 틀렸다고 생각해. – randomThought
당신이 원하지만 "요청하면"['.ajax()'] (http://api.jquery.com/jQuery.ajax/)를 동기식으로 만들 수 있습니다. "브라우저를 일시적으로 잠글 수 있고 요청이있을 때 어떤 동작도 불가능하게 할 수 있습니다 활성 "이므로 일반적으로 좋은 접근 방식은 아닙니다. – andyb