javascript - 两个 jQuery 函数无法在单个 <script> 标签中工作

标签 javascript jquery

我有一个要求,

  1. 在选择特定选项列表项时,我需要使用 checkbox 显示/隐藏一个部分
  2. 在第 1 步中选择复选框后,我还需要显示/隐藏另一个部分。

This is what I tried

<script>
j$('#type').on('change', function()
{

    if(this.value == 'Technical Issue'){ 
        j$('#techtroubleshootoption').show();
         j$('#forceemailcase').show();
        j$('#main').hide();
    } 
    else{
        j$('#techtroubleshootoption').hide();
        j$('#forceemailcase').hide();
        j$('#main').show();
    } 
});
j$('#chkforcemailcase').click( function()
{
  if(this.checked){ 
        j$('#techtroubleshootoption').hide();
         j$('#forceemailcase').show();
        j$('#main').show();
    } 
    else{
        j$('#techtroubleshootoption').show();
        j$('#forceemailcase').show();
        j$('#main').hide();
    }   
});
</script>

第一个功能正在工作,在选择所需值后,它会显示/隐藏下面的部分,但在选择复选框时,它不会执行任何操作。

Workaround

如果将第二个函数放在另一个函数中<script>标记它工作很好。现在,我的问题是为什么它不能在同一个 <script> 中工作标记,声明多个 <script> 是正确的方法吗?每个功能的标签(这对我来说听起来不太合适)。

最佳答案

您需要用 $(document).ready() 包装所有的 javascript

$(document).ready(function() {

    j$('#type').on('change', function() {
        if(this.value == 'Technical Issue'){ 
            j$('#techtroubleshootoption').show();
                j$('#forceemailcase').show();
            j$('#main').hide();
        } 
        else{
            j$('#techtroubleshootoption').hide();
            j$('#forceemailcase').hide();
            j$('#main').show();
        } 
        });
        j$('#chkforcemailcase').click( function()
        {
        if(this.checked){ 
            j$('#techtroubleshootoption').hide();
                j$('#forceemailcase').show();
            j$('#main').show();
        } 
        else{
            j$('#techtroubleshootoption').show();
            j$('#forceemailcase').show();
            j$('#main').hide();
        }   
    });
});

关于javascript - 两个 jQuery 函数无法在单个 &lt;script&gt; 标签中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42964262/

相关文章:

javascript - 如何存储从 JSON 过滤的数据并在表中显示 (EmberJS)

javascript - 获取滚动元素jquery的百分比

javascript - jQuery 生成的 bg 图像无法打印

javascript - 在官方网站上用 Javascript 单击按钮(chrome 扩展)

javascript - Highcharts : Tooltip pointFormat decimal to percent

javascript - 如何使所有 Bootstrap 面板均可点击?

javascript - 未捕获的 ReferenceError : foo is not defined at HTMLAnchorElement. onclick?

jquery - 在输入文本上触发 jQuery 的按键事件

javascript - 禁用双击以单击触摸屏 iOS 设备

jquery:如何将其他 .js 文件包含到 .js 中