以下代码嵌入在多 View 中,我想做的就是访问 Doc1Amount1 TextBox 值,该值是 BodyCode div 的一部分,加载到 DocBody div 中。
<asp:View ID="Tab2" runat="server">
<div class="HeaderLine">02: Documentation</div>
<br />
<asp:HiddenField ID="HiddenField1" runat="server" />
//a<asp:Label ID="Label1" runat="server" Text ="Label1"></asp:Label>b
<div id="DocBody" />
<script>
$("#DocBody").load('LabReportContent/DocumentationSub.aspx #BodyCode');
$(window).load(function () {
var current = $('#DocBody');
$("#HiddenField1").val(current.contents().find("#Doc1Amount1").val());
});
</script>
</asp:View>
div 已成功覆盖,所有加载的对象均按预期显示,但 find 命令返回空白值。
我最初在没有 $(window).load
的情况下编写了此内容,并认为 Doc1Amount1 的内容未显示是因为页面未正确加载。
但是在添加窗口负载后,同样的事情仍然发生。
任何帮助将不胜感激,因为我对 jQuery 比较陌生。
最佳答案
您不需要contents()
。并且您应该在加载
之后执行简单的代码,因为窗口加载可能太早。您可以使用.load()
函数的回调。
$("#DocBody").load('LabReportContent/DocumentationSub.aspx #BodyCode', function() {
var current = $('#DocBody');
$("#HiddenField1").val(current.find("#Doc1Amount1").val());
$("#Label1").text(current.find("#Label1").text());
});
您也可以直接通过上下文选择子元素,而无需使用 find
。
var current = $('#DocBody');
$("#HiddenField1").val($("#Doc1Amount1", current).val());
$("#Label1").text($("#Label1", current).text());
关于javascript - 如何使用 jQuery .find() 从嵌入对象中检索值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38503402/