如何使用ICheck.js清除div的内容?

时间:2016-02-29 23:58:10

标签: javascript jquery ajax icheck

我想在取消选中复选框后清除div的内容。此外,选中复选框时,内容应该是可见的。

我已经尝试过,但在取消选中该复选框后,它不会清除内容。它只是在检查时添加更多内容..

这是我的ajax代码。

$('.myCheck').on('ifChecked', function (event) {
    if ($(this).is(":checked")) {
    $.ajax({
        url: '/Home/getCategoryItems',
        type: "GET",
        cache: false,
        data: {
            name: $(this).attr("name")
        },
        success: function (data) {

            $("#displayCarsSection").append(data);
        }
    });

    } else {
        $("#displayCarsSection").html('');
    }
});

3 个答案:

答案 0 :(得分:1)

由于您希望在未选中时清除复选框特定数据,因此可以将其存储在对象中。因此,每当选中或取消选中复选框时,您都可以清除div并使用该对象生成要追加到div的新数据。

{{1}}

答案 1 :(得分:0)

为什么不使用更改侦听器?据我所知,“点击”也应该有用。

请参阅https://jsfiddle.net/kkryao5g/1/

的JavaScript

$('.myCheck').on('change', function (event) {
    if ($(this).is(":checked")) {
      $("#displayCarsSection").append($(this).attr('id'));
    } else {
        $("#displayCarsSection").html('');
    }
});

HTML

<input type="checkbox" class="myCheck" id="myCheck1"> <label for="myCheck1">Option 1</label>
<input type="checkbox" class="myCheck" id="myCheck2"> <label for="myCheck2">Option 2</label>
<input type="checkbox" class="myCheck" id="myCheck3"> <label for="myCheck3">Option 3</label>
<br><br>
<span id="displayCarsSection"></span>

答案 2 :(得分:0)

您只有一点点错误,您应该使用ifChanged回调代替ifChecked

$('.myCheck').on('ifChanged', function (event) {
    if ($(this).is(":checked")) {
    $.ajax({
        url: '/Home/getCategoryItems',
        type: "GET",
        cache: false,
        data: {
            name: $(this).attr("name")
        },
        success: function (data) {

            $("#displayCarsSection").append(data);
        }
    });

    } else {
        $("#displayCarsSection").html('');
    }
});

现在,这将在每次检查/取消选中时收听

来源:http://icheck.fronteed.com/