Jquery 从变量中获取div的html代码
选中radiobutton后,我向服务器发出ajax请求。当它返回时,我有一个包含新数据的完整html页面。我只需要代码的一部分。如何用请求后的新数据替换旧数据(ajax请求前的表单)?这是我的密码:Jquery 从变量中获取div的html代码,jquery,ajax,asp.net-mvc,Jquery,Ajax,Asp.net Mvc,选中radiobutton后,我向服务器发出ajax请求。当它返回时,我有一个包含新数据的完整html页面。我只需要代码的一部分。如何用请求后的新数据替换旧数据(ajax请求前的表单)?这是我的密码: $(".do-ajax").change(function () { $.ajax({ url: "", data: { id: this.id }, type: "POST", success: function (data
$(".do-ajax").change(function () {
$.ajax({
url: "",
data: { id: this.id },
type: "POST",
success: function (data) { //data contains the full new html page.
console.log($(data)($(".ajax-form").html())); // wrong code and only needed to
// see what I get
$(".ajax-form").replaceWith($(data).get(".ajax-form").html());
// $(".ajax-form") must be
// replaced
},
error: function (data) {
console.log("probleempje oplossen...");
console.log(data);
}
});
});
我要更新的是.ajax表单
类,它是表单
-属性
这也是我的服务器代码(C#背后的语言):
@使用(Html.BeginForm(“Nieuw”,“Topic”,FormMethod.Post,new{@class=“form horizontax-ajax-form”,role=“form”}))
{
@Html.AntiForgeryToken()
@foreach(Model.Hoofdstukken中的var项)
{
字符串jsonid=JsonConvert.SerializeObject(新的TopicIdOrde(item.ID,'h'));
@RadioButton(m=>m.DeHoofdstuk,item.Naam,new{@class=“do ajax”,id=jsonid});
@项目.Naam
}
@如果(Model.Categorien.Count!=0)
{
foreach(Model.Categorien中的var项)
{
@RadioButtonOn(m=>m.DeCategorie,item.Naam,新的{@class=“do ajax”,id=“c”+item.id,value=item.id.ToString());
@项目.Naam
}
}
}
或者(我不知道)在ajax请求之后只发送我需要的东西而不是整个html页面是否更好?使用
find
方法查找jQuery对象中的元素:
$(".do-ajax").change(function () {
$.ajax({
url: "",
data: { id: this.id },
type: "POST",
success: function (data) {
$(".ajax-form").replaceWith($(data).find(".ajax-form"));
},
error: function (data) {
console.log("probleempje oplossen...");
console.log(data);
}
});
});
使用
find
方法查找jQuery对象中的元素:
$(".do-ajax").change(function () {
$.ajax({
url: "",
data: { id: this.id },
type: "POST",
success: function (data) {
$(".ajax-form").replaceWith($(data).find(".ajax-form"));
},
error: function (data) {
console.log("probleempje oplossen...");
console.log(data);
}
});
});
在ajax成功回调函数中尝试此操作:
$('.ajax form').html($(数据)。查找('.ajax form').html())
在ajax成功回调函数中尝试此操作:$('.ajax form').html($(数据)。查找('.ajax form').html())
如果您只请求所需的数据,您应该能够执行$('.ajax form即可).html(数据)
对吗?@camelCase:是的,这就是我问它的原因。我认为,一般来说,只发送你需要的东西会更好。。。你为什么要费心渲染和发送一些要立即丢弃的html呢?@engela:你能说说你要做什么吗?我是ASP新手。如果你只要求你需要的数据,你应该可以只做$('.ajax form').html(数据)
对吗?@camelCase:是的,这就是我要求的原因。我认为,一般来说,只发送你需要的东西会更好。。。你为什么要费心渲染和发送一些要立即丢弃的html呢?@engela:你能说说你要做什么吗?我是ASP的新手。