먼저 각 행에 대해 편집 단추가있는 레코드 목록이 있습니다 (아래 그림 1 부모 창 참조). 편집 버튼을 클릭하면 팝업 창에 응답 필드가 표시된 팝업이 표시됩니다 (이미지 2 하위 창 참조). 팝업 창에는 답변 값을 처리하는 텍스트 영역이 있으며 여기에서 사용자가 값을 추가/삭제할 수 있습니다. 사용자가 저장 버튼을 클릭하면 값이 데이터베이스에 저장되고 부모 창에서 편집하도록 선택된 특정 행에 대한 응답 필드의 수정 된 값이 반영됩니다.JQuery 자식 창에서 부모로 반환 값
여기 내 코드가 있습니다. 컨트롤러를 구현할 때 컨트롤러를 구현할 수없는 이유는 컨트롤러를 여기에 호출하여 dadabase에 데이터를 저장할 수 있는지 여부를 알 수 없기 때문입니다. .
저는 MVC를 처음 접했고, 제 문제를 도울 수있는 사람이 있기를 바랍니다.
컨트롤러 :
[HttpPost]
public ActionResult Sample(string answers, string question, string controlid, string eventid)
{
return View("CustomizedQuestion");
}
자바 스크립트 :
$(".editButton").live("click", function (e) {
e.preventDefault();
var $title = $(this).attr("title");
var $answers = $(this).attr("answers");
var $controlid = $(this).attr("id");
dropdownlist($controlid, $title, $answers);
});
function dropdownlist(controlid, title, answers, eventid) {
var $answersreplaced = answers.replace(/\,/g, " \r");
var $deleteDialog = $('<div><textarea id="answerlist" rows="10" cols="50">' + $answersreplaced + '</textarea><div><div style="font-size:9px">(To change back to an open answer field, delete all choices above and save)</div>');
$deleteDialog.dialog({
resizable: false,
height: 280,
width: 350,
title: title + " - Edit Choices",
modal: true,
buttons: {
"Save": function() {
$.ajax({
url: '@Url.Action("Sample")',
type: 'POST',
dataType: 'json',
data: { answers: $('#answerlist').val(),
question: title,
controlid: controlid,
eventid: eventid
},
success: function (resp) {
$(this).dialog("close");
},
error: function() {
alert('there was a problem saving the new answers, please try again');
}
});
},
Cancel: function() {
$(this).dialog("close");
}
}
});
};
대화 상자의 'save' 콜백에 새 값을 보내는 ajax 호출을 추가 할 수 있습니까? – Gavin
나에게 샘플 코드를 보내 주시겠습니까? 나는 그것을 많이 고맙게 생각할 것이다 :) – user335160