2014-03-30 74 views
0

我正在使用jquery ajax調用從控制器獲取部分剃鬚刀視圖。jQuery Ajax後輸入值爲空

$.ajax({ 
    type: "POST", 
    contentType: "application/json", 
    url: url, 
    async: false, 
    data: JSON.stringify(data) 
}).success(function(result) { 
    container.html(result); 
}).fail(function(result) { 
    // fail 
}); 

這工作正常,返回的HTML是一個有幾個文本輸入的表單。如果我查看元素,輸入的值由呼叫返回的內容設置。

例子:

<input class="valid" id="ItemId" name="ItemId" type="text" value="ItemValue"> 

當我試圖和這個元素上使用額外的jQuery,值始終是空白,當我做了件上的選擇,該元素是比鉻顯示的內容檢查不同元件。

代碼綁定到元素和選擇:

$(document).on("blur", "#ItemId", function(e) { 
    var itemId = $("#" + e.target.id).val(); 
} 

如果我輸入「的NewValue」到輸入領域,在模糊事件不會被調用,但這裏的itemid是「」和元素的外觀像這樣在鉻控制檯:

<input class="valid" id="ItemId" name="ItemId" type="text" value> 

我會期望值=「NewValue」。我錯過了什麼或做錯了什麼?

注意:這個jQuery代碼一切正常,如果我通過剃刀渲染局部視圖而不從jquery ajax中檢索它。輸入值按預期工作。

+1

你嘗試只是'VAR的itemId = this.value',並且你肯定有**只有一個**與ID元素。 – adeneo

+0

VAR的itemId = $( 「#」 + e.target.id).VAL() - >在這裏你只分配值給另一個變量。您實際設置該元素的值的部分在哪裏? – pj013

+0

該值由Ajax請求返回的HTML設置。輸入帶有一個由剃刀渲染的值。在我的例子中(第一個元素),值是「ItemValue」。這在鉻中的元素檢查器中得到確認。但是,當jquery選擇它時,元素沒有價值。 – twifosp

回答

0

你忘)};

$(document).on("blur", "#ItemId", function(e) { 
    var itemId = $("#" + e.target.id).val(); 
});