2014-03-30 40 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(); 
});