Jquery 从变量中获取div的html代码

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

选中radiobutton后,我向服务器发出ajax请求。当它返回时,我有一个包含新数据的完整html页面。我只需要代码的一部分。如何用请求后的新数据替换旧数据(ajax请求前的表单)?这是我的密码:

$(".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的新手。