Предотвратить метод дублирования функций Jquery - PullRequest
1 голос
/ 25 апреля 2020

Прошу прощения, если мой вопрос задавался ранее, потому что я не нашел правильные ключевые слова для моего случая. Вот мой код:

<script>

    $('#modal-verify').on('shown.bs.modal', function(e) {
        var condBefore = $.trim(document.getElementById('condition-raw').innerHTML);
        var condAfter = $('#coll_condition').val();
        var shapeBefore = $.trim(document.getElementById('shape-raw').innerHTML);
        var shapeAfter = $('#coll_shape').val();

        $('#condition-after').html(condAfter);
        $('#shape-after').html(shapeAfter);

        if (condBefore !== condAfter) {
            $('#condition-after').parent('.row-after').addClass('bg-light-yellow');
        } else {
            $('#condition-after').parent('.row-after').removeClass('bg-light-yellow');
        }

        if (shapeBefore !== shapeAfter) {
            $('#shape-after').parent('.row-after').addClass('bg-light-yellow');
        } else {
            $('#shape-after').parent('.row-after').removeClass('bg-light-yellow');
        }
        ---- 6 more same if-else statement ----
    });

</script>

Я пытался создать такую ​​функцию:

function (before, after, rowid) {
    if (before !== after) {
        $(rowid).parent('.row-after').addClass('bg-light-yellow');
    } else {
        $(rowid).parent('.row-after').removeClass('bg-light-yellow');
    }
};

Но безрезультатно. Кто-нибудь может привести пример или предложение или, может быть, я написал неправильный код?

1 Ответ

0 голосов
/ 25 апреля 2020

Наконец-то. После того, как я попробую свой код снова, используя много возможностей. Я нашел ответ. Это мой код:

<script type="text/javascript">
$(document).ready(function() {

    // forgot to give the function name in the previous question
    var highlight = function(before, after, rowid) {
        if (before !== after) {
            $(rowid).parent().addClass('bg-light-yellow');
        } else {
            $(rowid).parent().removeClass('bg-light-yellow');
        }
        // using this to return the result
        return this;
    };

    $('#modal-verify').on('shown.bs.modal', function(e) {
        var condBefore = $.trim(document.getElementById('condition-raw').innerHTML);
        var condAfter = $('#coll_condition').val();
        var shapeBefore = $.trim(document.getElementById('shape-raw').innerHTML);
        var shapeAfter = $('#coll_shape').val();

        $('#condition-after').html(condAfter);
        $('#shape-after').html(shapeAfter);

        // finally the function is here
        highlight(condBefore, condAfter, '#condition-after');
        highlight(shapeBefore, shapeAfter, '#shape-after');
    });
});
</script>

Спасибо всем, особенно Анурагу Шриваставе и Ишмерею, за то, что дали мне совет и время, чтобы проверить и попробовать мой код снова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...