Объедините $ (document) .ready с запросом .change - PullRequest
1 голос
/ 03 октября 2019

У меня есть два запроса

$("#repositories").change(function (e) {
        var value = $(this).val();
        var src = "/images/logos/" + value + ".png";
        $("#img-product-logo").attr("src", src);
        getRepositoryBranches(value);
});

и

$(document).ready(function (e) {
        var value = $("#repositories").val();
        var src = "/images/logos/" + value + ".png";
        $("#img-product-logo").attr("src", src);
        getRepositoryBranches(value);
});

Я хотел бы объединить оба jqueries для работы как при загрузке сайта, так и при изменении репозиториев. .

То, что я пробовал до сих пор и не работает, как планировалось, это:

$("#repositories").change(function () {
        $(document).ready(function () {
            var value = $("#repositories").val();
            var src = "/images/logos/" + value + ".png";
            $("#img-product-logo").attr("src", src);
            getRepositoryBranches(value);
        })
});

и

$(document , "#repositories").on("load change", function () {
            var value = $("#repositories").val();
            var src = "/images/logos/" + value + ".png";
            $("#img-product-logo").attr("src", src);
            getRepositoryBranches(value);
});

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

Любая помощь приветствуется.

Ответы [ 2 ]

3 голосов
/ 03 октября 2019

Для этого вы можете назначить событие change элементу #repositories как обычно, а затем trigger() его при загрузке страницы:

jQuery(function($) {
  $("#repositories").change(function (e) {
    var value = $(this).val();
    var src = "/images/logos/" + value + ".png";
    $("#img-product-logo").attr("src", src);
    getRepositoryBranches(value);
  }).trigger('change');
});
0 голосов
/ 03 октября 2019

Я уверен, что вы, должно быть, подумали об этом, но почему бы не создать функцию и не вызывать ее по мере необходимости?

$(document).ready(function (e) {
    CallOnChange();
});
$("#repositories").change(function () {
    CallOnChange();
});
function CallOnChange()
{
    var value = $("#repositories").val();
    var src = "/images/logos/" + value + ".png";
    $("#img-product-logo").attr("src", src);
    getRepositoryBranches(value);
}

Если я что-то упустил или неправильно понял ваш запрос, пожалуйста, дайте мнезнаю.

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