jQuery变量没有使用replaceWith更新

时间:2015-03-06 21:45:04

标签: javascript jquery

我正在尝试用变量替换我的DOM。但是当我的ajax运行时,它没有将新值赋给变量。

知道为什么变量值没有被替换?我在编写DOM Id时工作,如下所示,但是当我用变量替换它时。

这是我的代码浓缩工作

$(document).ready(){
    var url = '/Home/GetBookingsTicker';
    $('#button').on('click',function(){
        $.ajax({
            url: url,
            cache: false,
             type:"GET",
             success: function (response) {
                 $('#marqueeTop').replaceWith(response);
                 setColors($('#one').val());
             },
             failure: function () {
                 alert("Failed to update!")
             }
         });
     }
}

无效的代码

$(document).ready(){
    var url = '/Home/GetBookingsTicker';
    var $one = $('#one');
    $('#button').on('click',function(){
        $.ajax({
            url: url,
            cache: false,
             type:"GET",
             success: function (response) {
                 $('#marqueeTop').replaceWith(response);
                 setColors($one.val());
             },
             failure: function () {
                 alert("Failed to update!")
             }
         });
     }
}

Razor

<div id="marqueeTop">
    @Html.HiddenFor(m => m.one)
    <span>
        @foreach(var item in Model.procBookings){
            <label class="setTopColors">
                @Html.DisplayFor(x => item.GroupName)
                @Html.DisplayFor(x => item.Sales).....
            </label>   
        }
    </span>
</div>

2 个答案:

答案 0 :(得分:0)

第二个块功能无法访问变量$ 1。您可能需要阅读异步AJAX请求的工作原理。要访问$ 1,您需要成功实现回调。

答案 1 :(得分:-1)

如果我对#one

的假设是正确的,这可能会有效
$(document).ready(){
var url = '/Home/GetBookingsTicker';

var one = $('#one').val();
$('#button').on('click',function(){
    $.ajax({
        url: url,
        cache: false,
         type:"GET",
         success: function (response) {
             $('#marqueeTop').replaceWith(response);
             setColors(one);
         },
         failure: function () {
             alert("Failed to update!")
         }
     });
 }
}