我将值分配给隐藏字段,我想在JavaScript中访问该值。
我的声明部分是:
<asp:HiddenField ID="chkImages" runat="server" />
<div id="main" runat="server" style="display:none;"></div>
<a id="NewsTitle" runat="server" class="specialNews-label"></a>
我的JavaScript代码是:
$(document).ready(function () {
$( "#bxsliderid" ).parent().css( "display", "block" );
$('.bxslider').bxSlider({
controls:false,
pager:false,
auto:true,
speed: 9000,
easing: 'linear',
mode: 'fade',
pause: 5000,
});
if(document.getElementById('<%= chkImages.ClientId%>').value == "1") {
$( ".specialNews-label" ).css( "display", "block" );
}
});
我打开页面并在Firebug中看到隐藏字段已呈现但我没有得到它的值,而在调试JavaScript时出现错误,如:Unable to get property 'value' of undefined or null reference
我错过了什么?
答案 0 :(得分:1)
请在下面试试......工作正常......它
<head runat="server">
<title></title>
<script src="Scripts/jquery-1.9.1.min.js" type="text/javascript"></script>
<script>
$(document).ready(function () {
alert($('#chkImages').val());
if ($('#chkImages').val() == "1") {
$("#NewsTitle").css('display', '');
}
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:HiddenField ID="chkImages" runat="server" Value="1" />
<div id="main" runat="server" style="display: none;">
Test
</div>
<a id="NewsTitle" runat="server" style="display: none" class="specialNews-label">AAAA</a>
</div>
</form>
</body>
答案 1 :(得分:1)
您无需更改HTML代码中的任何内容,只需更改您的javascript,如下所示:
在你的Jquery代码中:
$(document).ready(function () {
$( "#bxsliderid" ).parent().css( "display", "block" );
$('.bxslider').bxSlider({
controls:false,
pager:false,
auto:true,
speed: 9000,
easing: 'linear',
mode: 'fade',
pause: 5000,
});
if($("input[type='hidden'][id$='chkImages']").val() == "1") {
//alert('test');
$( ".specialNews-label" ).css( "display", "block" );
}
});
请参阅渲染HTML的演示:
答案 2 :(得分:0)
试试这个-----
ClientID而非ClientId
答案 3 :(得分:0)
试试这个
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MyForm.aspx.cs" Inherits="TestApp.MyForm" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:HiddenField ID="hdnField" runat="server" />
</div>
</form>
<script type="text/javascript">
$(document).ready(function () {
alert($("#<%= hdnField.ClientID %>").val());
});
</script>
</body>
</html>
答案 4 :(得分:0)
在代码中使用.attr('value')
而不是.value
。由于您似乎正在使用jQuery,因此可以执行此操作。
$(document).ready(function () {
if ($('#chkImages').attr('value') == "1") {
alert("Working...");
}
});
答案 5 :(得分:0)
在我的情况下,检查ID是相同的,它是my_id
JS
document.getElementById('my_id').value == "1"
html
<input name="image_name" id="my_id" type="hidden" value="1"/>