使用Jquery单击复选框列表中的项后插入用户控件

时间:2009-06-16 15:24:16

标签: jquery

如何使用JQuery单击复选框列表中的复选框后显示用户控件。

3 个答案:

答案 0 :(得分:2)

这应该接近你正在寻找的东西:

        $('#myCheckbox').click(function() {
           if($(this).is(':checked')) {
               $('#myControl').show();
           } else {
               $('#myControl').hide();
           }
        });

选中此复选框后,将显示ID为 myControl 的元素,并在取消选中后将其隐藏。

如果您喜欢使用三元运算符缩短表达式(我不太痴迷),您可能需要考虑这个:

        $('#myCheckbox').click(function() {
           $(this).is(':checked') ? $('#myControl').show() : $('#myControl').hide();
        });

答案 1 :(得分:1)

在某些情况下,可能更愿意将动态元素添加到DOM中,而不是显示现有的表单元素。然后,您可以绑定jQuery live event以提交此类表单。

$(document).ready(function(){   
    $("#myCheckbox").click(function(){
        $(this).html('<input class="newinput" id="thisinput" type="text" name="thisinput" value="" >');
        var update = $('<input name="submit" type="submit" class="update" value="update">');
        $(this).next().html(update);
        return true;
    });

    $(".update").live("click", function(){
    var thisinput = $("input#thisinput").val();
    var url = encodeURI('index.php?thisinput='+thisinput);
    window.location = url;
    return false;
    });

});

在上面的例子中,我使用.html()来插入输入元素。这将覆盖您的复选框。您可能希望使用不同的DOM操作,例如append,next或其他。

使用ajax functions提交表单的方法有很多种,如果元素已经存在但是隐藏元素,那么您只需要show effect。请参阅此tutorial on jQuery effects

答案 2 :(得分:0)

你想在哪里展示控件?

首先决定你想要展示它的位置

然后决定要显示的控件

之后:

   $("#myCheckboxId").click(function(){ /* show the control */});