再次调用函数的Jquery问题 - 范围问题

时间:2015-07-30 16:02:38

标签: javascript jquery

我不知道如何修复此功能,但我正在尝试使用ifthenCheck()函数;在一个函数中调用,另一个函数需要运行代码。我不确定我做错了什么。我是jquery的新手很抱歉,如果代码很邋but但我有两个下拉菜单,我检查值并保存它们。然后我修改值一点点。但我需要确保在两个onchange函数上运行If then函数。我希望这更清楚。

代码在底部函数上运行find,因为它在本地范围内,但是这个函数根本不运行 - $("#pa_color").on('change', function ()

提前感谢,因为我正在努力学习这一切。

我确实做了一个快速的jsfiddle - https://jsfiddle.net/facjg19e/1/ 这是代码

    <script >
$(document).ready(function() {
    //line 1 adding attributes
    $("#input_3_11").attr("maxlength", "15");

    //line 2 adding attributes
    $("#input_3_12").attr("maxlength", "10");

    //line 3 adding attributes
    $("#input_3_13").attr("maxlength", "10");

    //line 4 adding attributes
    $("#input_3_14").attr("maxlength", "10");

    //$("#input_3_28").val(originalSKU);


    //Get the SKU number from color drop down
    $(document).ready(function() {

        $("#pa_color").on('change', function() {
            var originalSKU = $(".sku").text();
            var strippedSKU = originalSKU.substring(0, originalSKU.length - 3);

            console.log(originalSKU);

            console.log(strippedSKU);

            ifthenCheck();

            $("#input_3_23 ").on('change', function() {
                var selectedDropDownValue = $("#input_3_23 option:selected").val();
                ifthenCheck();

                function ifthenCheck() {
                    if (selectedDropDownValue == "aces_up") {
                        var updatedSKU = "206";

                    } else if (selectedDropDownValue == "atomic") {
                        var updatedSKU = "122";
                    } else {
                        alert('no values selected');
                        return false;
                    }
                    console.log(strippedSKU + updatedSKU);

                    $("#input_3_28").val(strippedSKU + updatedSKU);


                } //end if then function
            });

        });

    }); //end change function

}); //end first function - must have
</script>

1 个答案:

答案 0 :(得分:0)

我已经更新了你的脚本了。看看这是否适合你:

$(document).ready(function() {
//line 1 adding attributes
$("#input_3_11").attr("maxlength", "15");

//line 2 adding attributes
$("#input_3_12").attr("maxlength", "10");

//line 3 adding attributes
$("#input_3_13").attr("maxlength", "10");

//line 4 adding attributes
$("#input_3_14").attr("maxlength", "10");

//$("#input_3_28").val(originalSKU);


//Get the SKU number from color drop down

    $("#pa_color").on('change', function() {
        var originalSKU = $(".sku").text();
        var strippedSKU = originalSKU.substring(0, originalSKU.length - 3);

        console.log(originalSKU);

        console.log(strippedSKU);

        ifthenCheck();

        $("#input_3_23 ").on('change', function() {
            var selectedDropDownValue = $("#input_3_23 option:selected").val();
            ifthenCheck();


        });

    });
function ifthenCheck() {
                if (selectedDropDownValue == "aces_up") {
                    var updatedSKU = "206";

                } else if (selectedDropDownValue == "atomic") {
                    var updatedSKU = "122";
                } else {
                    alert('no values selected');
                    return false;
                }
                console.log(strippedSKU + updatedSKU);

                $("#input_3_28").val(strippedSKU + updatedSKU);


            } //end if then function


 }); //end first function - must have