각 테이블에는 사용자가 해당 제품을 선택할 수있는 체크 박스가있는 제품 목록이 있습니다. 사용자가 버튼을 클릭하면 선택한 제품에 대해 다른 작업을 수행 할 수 있기를 원합니다.Codeigniter JQuery를 통해 컨트롤러 함수를 호출하는 방법
지금까지 선택한 제품의 ID 배열을 만드는 버튼에 JQuery 코드가 첨부되었지만 이제 막혔습니다. 이 단계에서 컨트롤러를 호출하고 배열을 전달할 수 있기를 바랍니다. 그런 다음 선택한 항목에 대한 작업을 수행하고 예를 들어 다른보기에서 결과를 표시 할 수 있습니다. 다음과 같이
내 JQuery와 코드는 다음과 같습니다 (이 디버깅 메시지를 많이 들어 있으므로 매우 자세한입니다)
/*
Respond to the clicking of the 'With Selected->[Update Retail Outlets]' button
*/
$('#btn_uro').click(function() {
alert('Update Retail Outlets');
var w = 0;
var str_status;
var sel_array = [];
$('.chk_sel_pdt').each(function() {
var $this = $(this);
if ($this.is(':checked')) {
str_status = "Checked";
sel_array.push($this.val());
} else {
str_status = "Unchecked";
}
console.log (w + ": " + $(this).val() + " - " + str_status);
w++;
});
console.log(sel_array);
// now try to send the array to a CI controller so that it can process the
// update request.
여기에서 컨트롤러 함수를 호출 sel_array [] 그것을 전달할 수있는 방법을 누군가는 말해 줄 수 . 이것이 잘못된 접근 방식 일 수 있음에 감사 드리며 대체로 제안 해 주시기 바랍니다.
미리 감사드립니다. G.
감사합니다. Uzair, 매우 우아한 솔루션입니다. 그러나 컨트롤러 함수를 호출하면 실행되지 않습니다. 즉, 컨트롤러 함수는 뷰를로드하지만 뷰는 나타나지 않습니다. Firebug를 사용하여 GET 구조체를 검사 할 경우 HTML 탭에 View가 모두 있지만 CI가 브라우저에로드하지 않습니다. 어떤 아이디어? 감사. – unplugngo
안녕하세요 unplugngo, 당신은 $ html = $ this-> load-> view ($ view_name, $ data, true)와 같은 변수에 그 HTML을 반환해야합니다; 해당 뷰를 변수에 저장하고 해당 변수를 (json에서 선호하는) ajax 응답으로 반환하고 json 성공을 json으로 파싱하고 html 데이터를 jQuery $ (element) .html() 메서드를 사용하여 원하는 곳에 표시합니다. 건배 – Uzair