javascript - 尝试在页面加载时运行函数

标签 javascript jquery coldfusion

我有一个自定义函数,一旦我从选择列表中进行选择,就会触发该函数。

这是我的选择列表:

<select id="payment_type" name="payment_type" onchange="java_script_:show(this.options[this.selectedIndex].value)">
            <option id="default" value="" <cfif #get_ticket.payment_type# eq ''>selected="selected"</cfif>>Please select the payment type</option>
            <option id="check" value="check" <cfif #get_ticket.payment_type# eq 'check'>selected="selected"</cfif>>Check</option>
            <option id="cash" value="cash" <cfif #get_ticket.payment_type# eq 'check'>selected="selected"</cfif>>Cash</option>
            <option id="visa" value="visa" <cfif #get_ticket.payment_type# eq 'visa'>selected="selected"</cfif>>Visa</option>
            <option id="mc" value="mc" <cfif #get_ticket.payment_type# eq 'mc'>selected="selected"</cfif>>Master Card</option>
            <option id="amex" value="amex" <cfif #get_ticket.payment_type# eq 'amex'>selected="selected"</cfif>>American Express</option>
            <option id="discover" value="discover" <cfif #get_ticket.payment_type# eq 'discover'>selected="selected"</cfif>>Discover Card</option>
          </select>

我的 javascript 函数将根据我的选择在我的页面中显示或隐藏 DIV。

这是 JS 代码:

<SCRIPT>          
$( document ).ready(function() {
console.log("My Function was called on page load"); 
    function show(select_item) {
       console.log( select_item);
        if (select_item == "check") {
            $("##check_number").css("display", "block");
            $("##card_number").css("display", "none");
            $("##card_name").css("display", "none");
            $("##expiration_date").css("display", "none");
            $("##cvc_code").css("display", "none");
            $('##submitPaymentForm').prop('disabled', false);
            $('##submitPaymentForm').prop('disabled', false);           
        }
        if (select_item == "cash") {
            $("##check_number").css("display", "none");
            $("##card_number").css("display", "none");
            $("##card_name").css("display", "none");
            $("##expiration_date").css("display", "none");
            $("##cvc_code").css("display", "none");
            $('##submitPaymentForm').prop('disabled', false);           
        } 
        if (select_item == "visa") {
            $("##check_number").css("display", "none");
            $("##card_number").css("display", "block");
            $("##card_name").css("display", "block");
            $("##expiration_date").css("display", "block");
            $("##cvc_code").css("display", "block");
            $('##submitPaymentForm').prop('disabled', false);           
        } 
        if (select_item == "mc") {
            $("##check_number").css("display", "none");
            $("##card_number").css("display", "block");
            $("##card_name").css("display", "block");
            $("##expiration_date").css("display", "block");
            $("##cvc_code").css("display", "block");
            $('##submitPaymentForm').prop('disabled', false);           
        } 
        if (select_item == "amex") {
            $("##check_number").css("display", "none");
            $("##card_number").css("display", "block");
            $("##card_name").css("display", "block");
            $("##expiration_date").css("display", "block");
            $("##cvc_code").css("display", "block");
            $('##submitPaymentForm').prop('disabled', false);           
        } 
        if (select_item == "discover") {
            $("##check_number").css("display", "none");
            $("##card_number").css("display", "block");
            $("##card_name").css("display", "block");
            $("##expiration_date").css("display", "block");
            $("##cvc_code").css("display", "block");
            $('##submitPaymentForm').prop('disabled', false);           
        }  
        if(select_item == "") {
            $("##check_number").css("display", "none");
            $("##check_number").css("display", "block");
            $("##card_number").css("display", "block");
            $("##card_name").css("display", "block");
            $("##expiration_date").css("display", "block");
            $("##cvc_code").css("display", "block");
            $('##submitPaymentForm').prop('disabled', false);           
        }
    }
show($("##payment_type").val());
});

</SCRIPT>

我不仅在做出选择时尝试运行此脚本,而且在加载页面时也尝试运行此脚本,因为有时用户在做出选择后会返回此页面,并且我希望已显示正确的 DIV 或隐。

如果我的选择列表调用该函数,但它当前未在页面加载时运行我的函数,则效果很好。

我做错了什么?

最佳答案

您在 document.ready() 中定义了一个函数部分,但还没有调用它。在 document.ready() 的末尾添加对您的函数的调用,例如show(<param>);

关于javascript - 尝试在页面加载时运行函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32894004/

相关文章:

coldfusion - 如何去掉一个url变量

architecture - 使用缓存或应用程序范围创建命中计数器

javascript - 用 toFix 舍入

javascript - 主干模型扩展

jquery - Div 不会跨越文档的边界并且具有屏幕的高度

javascript - PHP/jQuery 缩短字符串并在单击时显示更多内容

jquery - 单击跨度时隐藏或显示 div 时出错

javascript - html中没有背景的图片,如photoshop图层

Javascript:如何访问同一类中的公共(public)变量?

javascript - 使用 highchart 单击折线图的任意位置获取最接近的所有 Y 值