【问题标题】:MVC/JQuery Input set Value with .val()使用 .val() 的 MVC/JQuery 输入集值
【发布时间】:2013-04-05 17:55:04
【问题描述】:

我有一个输入元素,我最初将值设置为空:

<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 请求没有设置该值?谢谢。

【问题讨论】:

  • 以下post 可能会有所帮助。尽管他的示例涉及 HIDDEN 字段,但我认为您可以通过从您的 HTML 中删除 value="" 来解决此问题,如博客文章中所述。
  • 这确实有效。谢谢你。我现在需要正确地将值放入我的 value= 中,因为现在我有 value="[object Object] :) 谢谢。
  • 你返回什么类型的数据?你可能想试试.val(data.d);
  • 我将我的评论重新发布为答案。如果您将其标记为已接受,我将不胜感激。
  • 如果你总是返回一个data.d,可能最好使用converterdataFilter:api.jquery.com/jQuery.ajax

标签: jquery ajax asp.net-mvc get


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    Ajax 是一个异步请求。您可以在 ajax 函数中尝试使用 async: false 吗?

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

    【讨论】:

      猜你喜欢
      • 2012-07-30
      • 1970-01-01
      • 2014-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-28
      • 1970-01-01
      • 2014-02-19
      相关资源
      最近更新 更多