Вызовите ActionResult, когда установлен флажок - PullRequest
1 голос
/ 07 февраля 2020

Я пытаюсь вызвать ActionResult, когда флажок установлен, но я не знаю, почему он не работает. Вот мой код ниже.

- флажок

<td>
<input type="checkbox" id=@item.EmployeeId  />
</td>

- -Modal

<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                <h4 class="modal-title" id="myModalLabel">Modal title</h4>
            </div>
            <div class="modal-body" id="ModalBody">

            </div>

        </div>
    </div>
</div>

    $('input[type="checkbox"]').on('change', function (e)
    {

        if (e.target.checked)
        {
            var id = $(this).attr('id');

            var url = "Employee/ShowPopUpDelete?id=" + id;
            $("#ModalBody").load(url,function()
            {
                $("#myModal").modal("show");
            })
        }


   });
</script>

- Контроллер

public ActionResult ShowPopUpDelete(int id)
    {
        Employee temp = new Employee();
        temp = EM.FindById(id);

        ViewBag.Msg = "Are you sure?";


        return PartialView("Delete",temp);
    }

FindById возвращает объект Employee с указанным идентификатором. Когда я отлаживаю, он просто игнорирует мой ShowPopUpDelete ActionResult. Буду признателен, если узнаю, что я делаю не так.

Ответы [ 3 ]

2 голосов
/ 07 февраля 2020

Попробуйте:

Флажок

<td>
    <input type="checkbox" id="1234" />
</td>

Сценарий

$("#1234").change(function()
{

    if (this.checked)
    {
        var id = parseInt($(this).attr('id'));

        var url = "@Url.Action("ActionName", "ControllerName")" + "?id=" + id;
        $("#modelbody").load(url,function()
        {
            $("#myModal").modal("show");
        })
    }
});
0 голосов
/ 07 февраля 2020

Вы можете пропустить функцию готовности

<script>
    $(document).ready(function () {
        $('input[type="checkbox"]').click(function () {
            if ($(this).prop("checked") == true) {
                var id = $(this).attr('id');
                var url = "Employee/ShowPopUpDelete?id=" + id;
                $("#ModalBody").load(url, function () {
                    $("#myModal").modal("show");
                })
            }
        });
    }); 
</script>

Подробнее см. Ниже Ссылка

https://www.tutorialrepublic.com/faq/how-to-check-a-checkbox-is-checked-or-not-using-jquery.php

0 голосов
/ 07 февраля 2020

Можете ли вы попробовать это таким образом?

<input type="checkbox" onchange="handleModal(event)">

Тогда

function handleModal(e) {
     if (e.target.checked)
    {
        var id = $(this).attr('id');

        var url = "Employee/ShowPopUpDelete?id=" + id;
        $("#ModalBody").load(url,function()
        {
            $("#myModal").modal("show");
        })
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...