mvc3有一种方法可以使用Jquery获取Partial View文本框的值

时间:2013-11-27 22:18:10

标签: jquery ajax asp.net-mvc-3 partial-views

我有一个嵌入在我的页面上的partialView,它确实有一个特定的文本框,我想得到它的值并放入另一个文本框,因为这是一个PartialView,代码没有在PageSource上显示所以我是想知道是否有可能提取价值的方法? 这是我的代码

       // Jquery that triggers the form to submit to allow PartialView
  <script>

       $(document).ready(function () {

        $('#form0').trigger('submit');



    });
   </script>
  // The triggered ajax form
    @using (Ajax.BeginForm("feeds", "Account", null, new AjaxOptions
{
UpdateTargetId = "globe",
InsertionMode = InsertionMode.Replace,
HttpMethod = "GET",
OnSuccess = "fillTextBox"
}))
            {
                @Html.TextBox("zips", "", new { style = "width:120px;margin-right:10px;", Value = @Model.profile.zip })
                @Html.DropDownList("rad", new SelectList(
              new List<Object>{
                  new{ Text = "10", Value= 10},
                   new{ Text = "30", Value= 30}}, "Value", "Text"))
                  @Html.DropDownList("TypeFeed", new SelectList(new List<Object>{new { Text = "Breaking News", Value = "Breaking News"}}, "Value", "Text"))
                <input  type="submit" value="Find" />



            }
      <div id="globe" style="float:left">
    </div>

你可以看到partialView位于Global内部,而在PartialView中有一个文本框

    @Html.TextBox("longitude", (Object)@ViewBag.longitude)

该文本框有一个值,我想将其传输到我页面上的另一个文本框

<input type="text" id="myname" />

有什么方法可以将经度值传递给myname吗?

2 个答案:

答案 0 :(得分:0)

部分视图仍会在客户端呈现为HTML,因此您的jQuery根本不需要知道它是部分视图。因此,在您看来,您可以执行$(“#myname”)或$(“#longitude”),它会在DOM中找到它们。

答案 1 :(得分:0)

正如@ Scottie所说,你的部分视图将最终加载到DOM中,对于jquery来说,访问你的内容应该是在页面上呈现的任何局部视图中。

如果你没有得到这个价值,那就试试另一种方式。您正在document ready触发提交。尝试通过本机表单提交方法提交表单,即在提交按钮单击时。 fillTextBox可能会这样做,

function fillTextBox()
{
  var textBoxValue = $('#longitude').val();
  $('#myname').val(textBoxValue);
  console.log($('#myname').val());
}

这应该在成功的表单子项上获得所需的值OnSuccess。希望这会有所帮助。