实时功能的问题

时间:2011-02-28 15:19:56

标签: jquery

我有这个工作规范,直到规格改变。此功能现在通过ajax .load引入。很容易将它带入,我在页面上的所有其他功能都在父页面中工作,除了这一个:

$("#CME").hide();
    $(function() {
        $("#CME1, #CMEQL, #CBT1, #CBTQL, #NYM1, #CMX1").live("change", function(){
            var checkBoxes =  $("#CME1, #CMEQL, #CBT1, #CBTQL, #NYM1, #CMX1").filter(":not(:checked)");
            if(checkBoxes.length == 0){
                $("#CME").slideDown("fast");
                } else {
                $("#CME").slideUp("fast");
                }
    });
});

div“#CME”没有被隐藏,而.live('change',function(){不起作用。我有其他类似的.live函数正在工作和结构相同。我如何绑定初始$(function()与.live以及为什么不.hide()工作?

以下是引入此内容的代码

$(function() {
        $("#subscribe").click(function () {
            $("#singleContent").load('purchaseForm.php #formContent', function()
            {
                $('[class^=toggle-item]').hide();
                $('[class^=link]').click(function(e) {
                    $('.toggle-item-' + this.className).slideToggle("fast");
                    $('span',this).text(function(i,txt) {
                        return txt === "Learn More..." ? "Close" : "Learn More...";
                        e.preventDefault();
                    });
                });//toggle

                $(function() {
                   var $add = $('input.add');
                   $add.click(function() {
                       $add.removeAttr('checked');
                       $(this).attr('checked', true);
                   });//$add
                });//function
            });//load
        });//#subscribe

我想我可能刚刚回答了我自己的问题

编辑 - 我通过将它(将其放入)绑定到.load函数

来实现它

1 个答案:

答案 0 :(得分:3)

$("#CME").hide();无效,因为它可能在DOM准备好之前运行。尝试将其放在$(function() {});区块内。

.live()不需要位于$(function() {});块内。只要事件出现在DOM中,live就会绑定一个事件,即使它在被调用时不存在。

确保您的功能已关闭。您似乎在代码末尾缺少});