Показать сообщение отдельно
  #1 (permalink)  
Старый 19.06.2015, 14:13
Аватар для Neiro
Новичок на форуме
Отправить личное сообщение для Neiro Посмотреть профиль Найти все сообщения от Neiro
 
Регистрация: 19.06.2015
Сообщений: 2

Передача параметров из ссылок при их циклической генерации
Есть такой код на станице HTML (применяется Razor):

@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.PetName)
        </td>
        <td>
            <a href="#" id="linkCarInfo" data-num=@item.Id>Описание</a>
        </td>
    </tr>
}
, генерируются ссылки для описания авто, которое должно выводиться на странице ниже в отдельном блоке div:
<div id="carInfo"></div>
.

Для получения описания авто необходимо вызвать скрипт что-то вроде этого:
$(document).ready(function () {
    $("#linkCarInfo").click(function () {
        var id = $(this).data("num");
        Car.getCarInfo(id);
    });
});

Car = {
    getCarInfo: function (id) {
        $.ajax({
            dataType: "Json",
            contentType: "application/json; charset=utf-8",
            asynch: false,
            url: "/Home/CarInfo/" + id,
            success: function (output, status, xhr) {
                var car = eval(output);
                Car.viewCarInfo(car);
            },
            error: function (error) {
                alert("Error: " + error);
            }
        });
    },

    viewCarInfo: function (car) {
        var result = "Модель: " + car.model + "<br/>";
        result += "Максимальная скорость: " + car.maxSpeed + "<br/>";
        result += "Разгон до 100 км/ч за" + car.acceleration + " сек<br/>";
        
        document.getElementById("carInfo").innerHTML = result;
    }
}


В итоге работает только при нажатии на первую ссылку. При нажатии на последующие ноль реакции. Изучаю ASP.net MVC и по JQuery знаний пока мало (как и по JS) .

Сам(и) вопрос(ы):
Как правильно делать обработку таких ссылок или как их генерировать, чтоб потом под один обработчик запихнуть и считывать там только ID. Конечно интересно решение ненавязчивого JS, без подвески аттрибута onclick или вызова функции JS в ссылке.
Ответить с цитированием