처음 jquery post()를 사용하고 있는데 반환 된 데이터를 단순히 추가 할 수 없습니다. 필자의 경우 데이터는 단순히 액션이 호출하는 페이지의 테이블 행입니다. 내가 가진이Jquery post() - 반환 데이터를 추가 할 수 없습니다.
$.post(mysaveurl , $("#installment_form").serialize(), "html")
.success(function(data){
$("#paymentplantable table tbody").append(data);
$dialog.dialog('destroy');
}).error(function(){
alert("Please ensure that all fields are populated.");
});
내 데이터는 데이터베이스를 조회하지만 대화 상자는 삭제되지 않습니다. 이 meens는 내가 추가하고있는 선이 흐름을 죽인다. 참고 : 위의 위의 'html'매개 변수를 사용했습니다. 예제에서 xml과 json 만 사용 되었기 때문에 해당 ligal인지 확실하지 않습니다. 그때 나는 기존 테이블에 테이블 행을 추가 할 때, 세포가 형성되는 말이며, 그것은 내가 내 데이터를 gething 오전에 일이
$.post(mysaveurl , $("#installment_form").serialize())
.success(function(data){
$dialog.dialog('destroy');
var content = $(data).find('tr');
$("#paymentplantable table tbody").append(content);
}).error(function(){
alert("Please ensure that all fields are populated.");
});
로 수정했습니다. 방화 광구를 사용하여 DOM을 검사하면 테이블이 구조적으로 올바르지 만 올바른 테이블 행으로 표시되지 않고 모든 데이터가 왼쪽으로 "압착"됩니다.
나는 다음 HTML이 제대로 전달되지 않는 것을 thaught, 그래서 'mydivwrapper'는 TR 주위에 배치 사업부가 어디
var content = $(data).find('mydivwrapper').html();
을 다음과 같이 내가 JQuery와 HTML() 메소드를 사용하고도를 통해 들어온다 반환하는 "데이터". 이것은 또한 나쁜 생각이었습니다.
도와주세요.
편집 :
내가 내 스크립트를 조금 변경되었습니다. 내가 반환 된 데이터를 경고 할 때 SE는이
dataString = $("#installment_form").serialize();
$.ajax({
type: "POST",
url: mysaveurl,
data: dataString,
dataType: "text",
success: function(data) {
alert(data);
}
});
나는이
<?xml version="1.0" encoding="UTF-8"?>
<html><tr><td>31</td><td>147.0</td><td>Monday 14 November, 2011</td><td style="height:20px; width:20px;" class="edit_in_table"/><td style="height:20px; width:20px;" class="remove" id="/starburst/invoices/removeInstallment/14/31"/></tr></html>
가 해결 얻을 : 내 행동에 테이블 행을 건설하고 문자열로 표시를 반환. 위의 행동이 발생했는지 확실하지 않습니다.
또한이 게시물을 읽는 모든 사용자를 위해 jquery 대화 상자에서 양식을 게시하는 데 큰 어려움을 겪고있었습니다. 당신은 동적으로 대화 상자를 만들었고 DOM에 없었기 때문에 $ ("# mydialig")를 호출해야했습니다. remove(); 매번 datepicker를 표시하고 이전 값을 제출하는 양식 양식을 막을 수 있습니다. 이것이 도움이되기를 바랍니다. 여기에 최종 코드가 있습니다.
function addInstallment(){
$("#newinstallment").live("click", function(){
var $dialog = $('<div></div>');
var mysaveurl = $(this).attr("saveurl");
$dialog.load($(this).attr("formurl"), function(){
$("#mydatepicker").datepicker();
}).dialog({
title: 'Add new payment item',
width: 450,
modal: true,
buttons: {
Save: function() {
dataString = $("#installment_form").serialize();
$.ajax({
type: "POST",
url: mysaveurl,
data: dataString,
dataType: "text",
context: $(this),
success: function(data) {
$("#paymentplantable table tbody").append(data);
var newremoveurl = "${removeinsturlNoIds}"+$("#paymentplantable tr:last td:last").attr("id");
$("#paymentplantable tr:last td:last").attr("id", newremoveurl);
$(this).remove();
}
});
},
Cancel: function() {
$(this).dialog('destroy');
}
}
});
});
}
ok 대화 상자를 닫으려면 변경하고 이전과 이후에는 게시 할 것입니다. – Binaryrespawn
안녕하세요, 나는 다른 편집을 만들었습니다. var content = $ (data) .find ('tr'); , jquery 개체가 만들어지고 직접 추가 할 수 없습니다. 아무것도하지 않고 첨부 된 데이트하는 사람이 잘못 형성되었을 수 있습니다. – Binaryrespawn