скрипт не выполняется на странице HTML - PullRequest
0 голосов
/ 08 января 2019

Я пытаюсь использовать сценарии для получения данных из моего Webapi.

Я пробовал несколько десятков разных сценариев, но ничего не было выполнено.

Сценарий:

@section scripts
{
<script>
$(document).ready(function () {

    $('.cocktail').on('click', function () {
        $.getJSON(url + '/' + $(this).data('id'))
            .done(function (data) {
                $.each(data, function (key, item) {
                    $('<li>', { text: formatItem(item) })
                        .appendTo($('#ingredients'));
                })
            });
    });
});

function formatItem(item) {
    return item.name + item.Volume + item.Dosage;
}

}

HTML:

<div class="row">
<div class="col-md-6">
    <ul class="list-group">
        @foreach (CocktailBasic cocktail in Model)
        {
            <li>
                <b><a href="#" id="cocktail" data-id="@cocktail.Id" class="Cocktail">@cocktail.Name</a></b>
            </li>
        }
    </ul>
</div>

<div class="col-md-6">
    <h2>Ingredients</h2>
    <ul id="ingredients"></ul>
</div>

Я совершенно новичок в использовании скриптов. все, кроме сценария работает нормально.

Ответы [ 3 ]

0 голосов
/ 08 января 2019

Я вижу пару потенциальных проблем:

  • Вы используете один и тот же идентификатор "коктейль" несколько раз - идентификаторы должны быть уникальным на странице

  • CSS-классы чувствительны к регистру - Ваш JQuery селектор. Коктейль, но ваш класс CSS является Коктейль.

0 голосов
/ 08 января 2019

Вы определили свой класс как class="Cocktail" и добавили обработчик кликов как $('.cocktail'). Вы должны использовать, $('.Cocktail').

0 голосов
/ 08 января 2019

Нет элемента с классом cocktail, есть элемент с этим идентификатором и классом Cocktail.

Вам придется изменить селектор на $("#cocktail") или $(".Cocktail")

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