【问题标题】:Access Hidden field value from POP dialog from parent page从父页面访问 POP 对话框中的隐藏字段值
【发布时间】:2016-08-22 06:09:41
【问题描述】:

我有一个页面说 Page1.Chtml ,在这个页面中我有两个 DIV 元素,如下所示

  <div id="1">
     Some test
    <div id="2"> </div>
  </div>

Div 2 中的内容是动态放置运行时并显示 DIV 1 作为弹出窗口。

现在在 DIV 2 我有一些隐藏文件现在我想在 javascript 中访问页面“Page1.Chtml”中的这个隐藏字段。隐藏字段是

<input type="hidden" id="DlrhdnPageNumberVal" name="DlrhdnPageNumberVal" />

我像下面这样访问,但它在未定义的情况下无法正常工作。

var PrevsValue= $('DlrhdnPageNumber').val();

如果可能,请帮忙。

谢谢!!!

【问题讨论】:

  • 您可以使用 jquery 选择器的名称或 id 访问这些字段。
  • 请发布您目前拥有的隐藏字段和 jquery 代码。
  • 给元素一个 id 并使用 id 访问它
  • 代码添加到访问但无法正常工作@bhushan
  • DlrhdnPageNumber 是隐藏字段的 id 还是名称?

标签: javascript jquery asp.net asp.net-mvc-4


【解决方案1】:

如果你想使用 jQuery 访问一个 HTML 元素,你需要记住一些选择器规则,例如,如果你想通过 id 访问一个元素,你需要在它前面加上一个 '#' 字符,如果你想要通过 css 类访问元素,您需要在其前面加上 .:

var hiddenValue = $("#hidden").val();//access by id

var hiddenValue = $(".hidden").val();//access by css class

下面是一个使用ViewBag 和引导模式弹出窗口的简单示例。我在控制器操作中设置ViewBag.Value 并将其存储在隐藏字段内的视图中

控制器:

public ActionResult Index()
{
    ViewBag.Value = "Sample Value";
    return View();
}

查看:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
<script type="text/javascript">
    $(function () {
        $("#btnLaunch").click(function () {
            $(".modal-body").empty();
            var hiddenValue = $("#hidden").val();
            alert(hiddenValue);
            $(".modal-body").html(hiddenValue);
            $('#myModal').modal('show');
        });

    });
</script>

<button type="button" id="btnLaunch">Launch modal</button>
<div id="div2">
    <input type="hidden" value="@ViewBag.Value" id="hidden" />
</div>
<div id="myModal" class="modal fade">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                <h4 class="modal-title" id="myModalLabel">Modal Header</h4>
            </div>
            <div class="modal-body">
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-primary" data-dismiss="modal">Close</button>
            </div>
        </div>
    </div>
</div>

【讨论】:

  • 谢谢,但我的隐藏字段在模型主体中,我想在 java 脚本中访问,但在你的情况下,隐藏字段不在模型弹出窗口中。
  • 它在哪里并不重要,只要它有 id="hidden" 你就可以从 javascript 访问它。试一试。也不必调用 id hidden你可以给它自己唯一的名字
  • 运气不好用同样的方式:( .OK 你能告诉如何访问你从模型主体弹出窗口中提到的隐藏字段
  • 只需复制并粘贴我拥有的代码并了解其工作原理
【解决方案2】:

试试这个:使用var PrevsValue= $('#DlrhdnPageNumber').val(); 读取隐藏的值,但要确保这个 id 在整个 DOM 中必须是唯一的。

你也可以使用名称属性选择器来读取值,但前提是必须只有一个同名元素,否则你必须以不同的方式处理。

对于一个名称元素 - var PrevsValue= $('input[name="DlrhdnPageNumber"]:first').val();

对于多个名称元素 var PrevsValues= $('input[name="DlrhdnPageNumber"]');

for (var i=0; i<PrevsValues.length; i++)
{
  var value = PrevsValues[i].val();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-19
    • 2013-02-22
    • 1970-01-01
    • 1970-01-01
    • 2012-11-14
    相关资源
    最近更新 更多