我想显示当前用户名并启用一个按钮,如果选中该复选框,但此脚本无法正常工作。看起来没有发生任何事情i-e:if语句未触发
HTML
<script>
<script>
if($('#chbPurchaseAgree').attr('checked')) {
$('#lblPurchaseAgreedByValue').val($('#hdnCompUserName').val());
$('#btnPurchaseContinue').attr("Enable", true);
}
</script>
<asp:HiddenField ID="" runat="server" ClientIDMode="Static"/> //hidden field is set in code behind
<div class="control-group" style="float: left;">
<asp:CheckBox ID="chbPurchaseAgree" runat="server" ClientIDMode="Static" CssClass="chkbox" Text="I have read this document and agreed to the terms and conditions"/>
</div>
<asp:Label ID="lblPurchaseAgreedByValue" ClientIDMode="Static" runat="server"></asp:Label>
答案 0 :(得分:2)
我相信它不起作用,因为在执行时没有复选框。不确定是什么&#39; asp&#39;标签是,但我想这是客户端渲染的某种占位符。
所以我建议在DOM准备就绪时使用一些框架/语言回调来执行javascript。
答案 1 :(得分:0)
您可能想尝试使用jQuery的“.val()”而不是“.value”。这样:
<script>
if($('#chbPurchaseAgree').is(':checked')) {
$('#lblPurchaseAgreedByValue').val($('#hdnCompUserName').val());
}
</script>
答案 2 :(得分:0)
在条件中检查这一点。 如果($(&#39;#chbPurchaseAgree&#39;)ATTR(&#39;检查&#39;))
答案 3 :(得分:0)
我希望这可以帮助你。
https://jsfiddle.net/ry4t9cdg/
<input id="chkbox" type="checkbox">
<input id="uname" type="text">
<button id="button" disabled>BUTTON</button>
$('#chkbox').on('change',function(){
var self = this;
$('#button').prop('disabled',!self.checked);
if(this.checked)
$('#uname').val('username');
else
$('#uname').val('');
})
答案 4 :(得分:0)
好的,这是我遇到的解决方案
<script>
function checkedchanged() {
var chkbox = document.getElementById('chbPurchaseAgree');
if (chkbox.checked)
{
$('#lblPurchaseAgreedByValue').html($('#hdnCompUserName').val());
$('#lblPurchaseAgreedDateValue').html($('#hdnCompDate').val());
$('#btnPurchaseContinue').attr('disabled', false);
}
else
{
$('#lblPurchaseAgreedByValue').html("");
$('#lblPurchaseAgreedDateValue').html("");
$('#btnPurchaseContinue').attr('disabled', true);
}
</script>
<asp:Button ID="btnPurchaseContinue" ClientIDMode="Static" runat="server" Text="Continue" Enabled="false"
></asp:Button>
感谢sznowicki和santialurralde