【问题标题】:change style if the checkbox comes checked when page loaded如果在页面加载时选中复选框,则更改样式
【发布时间】:2013-12-24 14:22:19
【问题描述】:

我正在使用一个用户控件,其中存在一个带有 html 复选框的网格视图。我在另一个页面中使用这个控件。当页面中的用户控件被加载时,其中一些复选框会被选中。

所以为了在用户控件加载时改变复选框的样式,这是我在一个js文件中添加的jquery代码,

<input type="checkbox" class="chk">

jQuery('input:checkbox.chk').click(evaluate).each(evaluate);

function evaluate() {
    debugger;
    var item = jQuery(this);
    alert('hello');
    if (item.is(":checked")) {
        jQuery(this).parent().toggleClass("active");
    } else {}
}

但这根本没有开火。代码有什么问题。任何人都可以帮我解决这个问题。

感谢任何帮助。谢谢。

【问题讨论】:

  • 控制台是否有任何错误?
  • @dreamweiver!没有错误!
  • 实际上我没有发现您的代码有任何问题,它在这里工作正常jsfiddle.net/Da4Lz/8
  • 是的,我也在 jsfiddle 中测试过。但是当页面在asp.net中加载时问题就来了。
  • 如果你在你的asp.net页面中链接这个js文件,那么你可能需要在你的asp.net页面的$(document).ready(....)中调用这个函数。这样当 asp.net 页面的 dom 树完全加载时,js 函数也会被加载到您的 asp.net 中。

标签: c# jquery asp.net checkbox user-controls


【解决方案1】:

可能你想念$(document).ready

$(document).ready(function(){
   // Put your code here
})

【讨论】:

  • 我正在链接页面中的 javascript 文件。所以它应该自动触发代码。我不知道哪里失败了!!
  • 如果你想让脚本在代码中自动触发,你必须在 HTML 中定义onclick 就像 在这里,你使用 Jquery,所以你想绑定到选择器的事件,你必须在 $(document).ready(function(){ }) 之后定义
【解决方案2】:

要做三件事

  • 在 doucument.ready 中添加代码
  • 这里不需要每个。
  • 使用更改而不是点击

绑定事件,

$(document).ready(function(){
    jQuery('input:checkbox.chk').change(evaluate);
});

定义函数

 function evaluate() {
    debugger;
    var item = jQuery(this);
    alert('hello');
    if (item.is(":checked")) {
        jQuery(this).parent().toggleClass("active");
    } else {
    }
  }

【讨论】:

    【解决方案3】:

    将此代码移至首页的 pageinit 函数或 document.ready 事件。

    if (item.is(":checked")) {
        jQuery(this).parent().toggleClass("active");
    
    } 
    else {
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-27
      • 1970-01-01
      • 1970-01-01
      • 2023-04-10
      相关资源
      最近更新 更多