javascript - 如何为 Jquery 函数设置数据选择

标签 javascript jquery html

我有一个功能,可以更改单击时的检查选择,并将默认检查应用于在

内检查的输入

示例

<input type='checkbox' class='regular-checkbox big-checkbox multicheck' data-paysys="" checked/>

和我的 jquery 函数

 $('input[type="checkbox"]').on('click', function () {
        if ($(this).attr("class") == 'singlecheck') {
            if ($('input.multicheck').is(":checked")) {
                $('#warning').show();
            }
            $('input.multicheck').prop('checked', false);
        } else {
            $('input.singlecheck').prop('checked', false);
            $('#warning').hide();
        }
    });

如何设置 checked 通过 $accordion.data("selection") 设置,以便我可以使用

<div id="accordion-test" data-selection="2">

我尝试过的

$('input[type="checkbox"]').on('click', function () {
        if ($(this).attr("class") == 'singlecheck') {
            if ($('input.multicheck').is($accordion.data("selection"))) {
                $('#warning').show();
            }
            $('input.multicheck').prop($accordion.data("selection"), false);
        } else {
            $('input.singlecheck').prop($accordion.data("selection"), false);
            $('#warning').hide();
        }
    });

更新添加的 FIDDEL

这是我正在处理的 fiddle ,您可以看到 Accordion 作为数据选择打开 - “1”,但检查仍然不正确。

https://jsfiddle.net/rqzgjnwc/#&togetherjs=t0SOlQwIr9

最佳答案

试试这个,

$('input[type="checkbox"]').on('click', function () {
        if ($(this).attr("class") == 'singlecheck') {
            if ($('input.multicheck').is(":"+$accordion.data("selection"))) {
                $('#warning').show();
            }
            $('input.multicheck').prop($accordion.data("selection"), false);
        } else {
            $('input.singlecheck').prop($accordion.data("selection"), false);
            $('#warning').hide();
        }
    });

让我知道它是否有效。

编辑

$(function() {
   var $accordion = $("#accordion");
   $accordion.accordion({
     autoHeight: true,
     collapsible: true,
     active: $accordion.data("selection"),
     change: function(event, ui) {
       makeChecked();
     },
     create: function(event, ui) {
       makeChecked();
     }
   });
 });

 $('input[type="checkbox"]').on('click', function() {

   if ($(this).attr("class") == 'singlecheck') {
     if ($('input.multicheck').is(":checked")) {
       $('#warning').show();
     }
     $('input.multicheck').prop('checked', false);
   } else {
     $('input.singlecheck').prop('checked', false);
     $('#warning').hide();
   }
 });

 function makeChecked() {
   $("input[type='checkbox']").prop("checked", false);
   $("lable.ui-state-active").find("input[type='checkbox']").prop('checked', true);
 }

对于工作代码,请检查一次 jsfiddle链接。

关于javascript - 如何为 Jquery 函数设置数据选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41696327/

相关文章:

javascript - react 序列化组件从服务器发送

javascript - 包装输入时,React 属性未正确设置

jquery删除列表中的按钮不适用于所有框

javascript - JQuery '.load()' 不工作

javascript - JQuery 将调色板颜色应用于 html 页面中的任何内容

javascript - 使用 setInterval 制作图像轮播

javascript - Javascript 关闭不起作用

javascript - 页面刷新,javascript未运行

javascript - 基于月份和年份的聚合数组

javascript - 使用 jQuery 在单独的 Div 中克隆多个表单元素