Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery输入值在ajax之后为空_Jquery_Asp.net Mvc_Razor - Fatal编程技术网

jQuery输入值在ajax之后为空

jQuery输入值在ajax之后为空,jquery,asp.net-mvc,razor,Jquery,Asp.net Mvc,Razor,我使用jqueryajax调用从控制器获取部分razor视图 $.ajax({ type: "POST", contentType: "application/json", url: url, async: false, data: JSON.stringify(data) }).success(function(result) { container.html(result); }).fail(function(result) { //

我使用jqueryajax调用从控制器获取部分razor视图

$.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">
如果我在输入字段中键入“NewValue”,则会调用on blur事件,但这里的itemId是“”,并且元素在chrome控制台中如下所示:

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

我希望value=“NewValue”。我遗漏了什么或做得不对

注意:如果我使用razor渲染局部视图而不从jQueryAjax检索它,那么这段jQuery代码可以正常工作。输入值按预期工作。

您忘记了
)}


您是否尝试过
var itemId=this.value
,并且您确定只有一个元素具有该ID.var itemId=$(“#”+e.target.ID).val()->这里您只是将值分配给另一个变量。实际设置该元素值的部分在哪里?该值由Ajax请求返回的HTML设置。输入带有razor呈现的值。在我的示例(第一个元素)中,值是“ItemValue”。这在铬元素检查器中得到确认。但是当jquery选择它时,元素没有值。
 <input class="valid" id="ItemId" name="ItemId" type="text" value>
$(document).on("blur", "#ItemId", function(e) {
    var itemId = $("#" + e.target.id).val();
});