2013-04-05 156 views
2

我有我的设置值是什么最初输入的元素:MVC/JQuery的输入设定值.VAL()

<input id="fooValue" type="hidden" data-url="@Url.Action(MVC.fooController.fooValue())" value="" /> 

然后我有一个AJAX调用,我检索值,并尝试将其传递到输入和先前空白值设置为这个新值:

$.ajax({ 
    type: 'GET', 
    url: $('#fooValue').data('url'), 
    success: function (data) { 
     $('#fooValue').val(data); 
    } 
}); 

当我执行Firebug控制台这个AJAX请求我回来的4值,但是当我得值从输入它不返回任何东西。任何人都可以帮助我,告诉我为什么看起来这个值没有被AJAX请求设置?谢谢。

+1

以下[post](http://www.codem0nk3y.com/2011/03/jquery-val-setter-not-working/)可能会有帮助。虽然他的例子涉及到一个'HIDDEN'字段,但我认为您可以通过从博客文章中描述的HTML中去除“value =”“'来解决问题。 – 2013-04-05 18:20:48

+0

这实际上工作。谢谢。我现在需要将值存入我的值=正确的,因为现在我有value =“[object Object] :)谢谢。 – Alexander 2013-04-05 18:36:09

+0

你返回什么类型的数据?你可能想尝试'.val(data.d) ;' – tymeJV 2013-04-05 19:26:36

回答

1

以下post可能会有所帮助。尽管他的例子涉及隐藏字段,但我认为您可以通过从博客文章中描述的HTML中删除value=""来解决您的问题。

0

Ajax是一个异步请求。你可能会尝试在你的ajax函数中使用async: false

$.ajax({ 
    type: 'GET', 
    url: $('#fooValue').data('url'), 
    async: false, 
    success: function (data) { 
    $('#fooValue').val(data); 
    } 
});