【问题标题】:How to change/add css to dynamically generated checkbox class如何更改/添加 css 到动态生成的复选框类
【发布时间】:2015-07-08 19:34:31
【问题描述】:

我有一个 jquery 手风琴,当我单击手风琴标题时,ajax 调用会显示内容。这些内容中的每一个都有一个带有复选框的项目列表和一个提交按钮,因此用户可以更新数据库(通过另一个 ajax 调用)。

单击提交时,我想删除所有选中项目的复选框,然后设置这些特定项目的样式。我可以删除复选框,但我似乎无法添加更改 CSS!检查的项目。谁能帮忙? html 是这样的

Html
     accordion header <h3>(dynamic id)
    div class row
    div class bootstrap
    checkbox class single-checkbox (dynamic id)
    <p> content </p>




  checkbox

<input type="checkbox"  class="single-checkbox" name="contentAll[]" value="<?php echo $row2['bing'], '-', $row2['content_all']; ?>" />

jquery

    $('.submit').click(function() {
    $.ajax({
    url: "heir3.php",
    type: "post",
    data: $('.single-checkbox:checked').serialize(),
    success: function(data) {
    $('.single-checkbox:checked').remove();}   
    }); 
    });

submit
<button class="submit" id="submit">Submit</button>

【问题讨论】:

  • 只需使用 jquery .addClass('someClassName') 将类添加到您检查的项目中,然后在您的 css 文件中为这些项目编写 CSS

标签: jquery css dynamic checkbox checked


【解决方案1】:

使用addClass()removeClass() 然后将样式存储在其中:

CSS

.my-checkbox-class {
    // styles
}

jQuery

$('.single-checkbox:checked').addClass('my-checkbox-class');
$('.single-checkbox:checked').removeClass('my-checkbox-class');

您可以像这样向任何元素添加任何样式,也可以删除它们。这是一个很好的、干净的解决方案,可以让你的 css 可重用并保持样式和功能分开。

请注意,添加和删除类方法不需要. 来表示类,这可能是一个陷阱

【讨论】:

  • 嗨,谢谢,我看到了这个方法,但它在我的代码中不起作用。也许它是我把它放在哪里?我这样说 { $('.submit').click(function() { $.ajax({ url: "heir3.php", type: "post", data: $('.single-checkbox:checked ').serialize(), 成功: function(data) { $('.single-checkbox:checked').addClass('my-checkbox-class'); } }); });抱歉编辑,我不知道如何编辑。
  • 我把这个 jQuery 代码放在顶部,它在某种程度上做了我想要的,但是当点击提交按钮时它没有按照我想要的顺序做。
    $("input:radio,input:checkbox").change(function () { $(this) .attr('disabled', 'disabled') .next('label') .css('color' , '红色'); });
  • @CDog 您在添加课程时是否仔细检查了$('.single-checkbox:checked') 的内容?您可以使用debugger 暂停 js 并检查控制台中的变量(您也可以使用反引号来表示 Stack Overflow 评论中的代码,就像在帖子中一样,这样更容易阅读:-)
  • 我是 jQuery 新手,不知道如何调试,我认为 firefox 有一个。我今晚会花时间尝试了解它是如何工作的。我想我不明白为什么('.single-checkbox:checked') 能识别.remove 但不能识别.addClass?哇
  • 我最终添加了这个并且它工作了$('.single-checkbox:checked').next('p').addClass('my-checkbox-class'); $('.single-checkbox:checked').remove(); 我在萤火虫中检查了它,但我看不出有效的代码和无效的代码之间的区别。是否有任何易于使用的“假人萤火虫”?或者有人可以指出我正确的方向以查看选择器信息吗?
猜你喜欢
  • 1970-01-01
  • 2013-06-07
  • 2013-01-16
  • 1970-01-01
  • 1970-01-01
  • 2018-07-18
  • 1970-01-01
  • 2021-10-15
  • 2014-05-03
相关资源
最近更新 更多