Code works in fiddle, but not on webpage

前端 未结 2 1290
生来不讨喜
生来不讨喜 2020-12-11 10:48

Have tried and tested code in fiddle, the aim is to hide second column when there is a 1 in the dropdown at the top, this works on fiddle, but nothing changes on webpage. An

相关标签:
2条回答
  • 2020-12-11 11:38

    Enclose your jquery in a document.ready() handler, like so:

    $(document).ready(function() {
       $("#selectList").change(function() {
           if ($(this).val() == "1") {
              $(".showMe").hide();
           }
           else {
               $(".showMe").show();
           }
       });
    });
    
    0 讨论(0)
  • 2020-12-11 11:51

    Your jQuery code is executing before the elements are in the DOM. Wrap it inside a DOM Ready handler to fix that:

    $(function() {
        //your code here
        $("#selectList").change(function() {
            if ($(this).val() == "1") {
               $(".showMe").hide();
            }
            else {
                $(".showMe").show();
            }
        });
    });
    

    Your fiddle has an onLoad wrapper (top-left of the page) which automatically wraps your code inside an window.onload function.

    window.onload works too but it takes considerably longer than a DOM ready handler to kick in when you have a large page with images and other resources.

    0 讨论(0)
提交回复
热议问题