1
votes

Appel à l'action Résultat lorsqu'une case est cochée

J'essaie d'appeler un ActionResult lorsqu'une case est cochée, mais je ne sais pas pourquoi cela ne fonctionne pas Voici mon code ci-dessous.

- Case à cocher

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

        ViewBag.Msg = "Are you sure?";


        return PartialView("Delete",temp);
    }

--Modal

    $('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>

XXX

--Controller

<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>

Le FindById renvoie l'objet Employee qui a l'ID donné. Lorsque je débogue, il ignore simplement mon ShowPopUpDelete ActionResult. J'apprécierais de savoir ce que je fais de mal.


8 commentaires

EM.FindById (id); quel est le EM dans le code?


Instance EmployeeModule - EmployeeModule EM = new EmployeeModule ();


"Quand je débogue, il ignore simplement mon ActionResult ShowPopUpDelete", pouvez-vous expliquer un peu plus ce que vous entendez par là? je veux dire un scénario complet


Vous ne lisez jamais la réponse du côté client.


Je veux dire qu'il n'appelle pas l'Action pour une raison quelconque. @MahabubulHasan


@Drey quelle est votre version de jquery? au lieu de votre $ ("# ModalBody"). load pouvez-vous essayer .get (url, data, success) ??


$ .get ("Employee / ShowPopUpDelete? id =" + id, function (data, status) {alert ("Data:" + data + "\ nStatus:" + status);});


@MahabubulHasan Cela ne fait rien. J'utilise cette référence pour jquery


3 Réponses :


0
votes

Pouvez-vous l'essayer de cette façon?

Puis

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");
        })
    }
}


4 commentaires

Il continue d'ignorer ShowPopUpDelete. De plus, sur la case à cocher, ne dois-je pas ajouter id=@item.EmployeeId pour passer l'ID?


Ouais, j'ai oublié d'ajouter ça, tu devrais ajouter Id. Ma faute.


ok, essayez de passer l'url sous forme de données comme ceci: alors vous pouvez récupérer l'url comme ceci: var id = $ (this) .attr ('data-url');


Pourriez-vous taper le code jquery complet comme ça?



2
votes

Essayez ceci:

Case à cocher

$("#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");
        })
    }
});

Script

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


1 commentaires

Cela a fonctionné lorsque j'ai changé ma définition d'URL pour la vôtre. Merci



0
votes

Vous risquez de manquer la fonction Ready

<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>

Pour plus d'informations, reportez-vous au lien ci-dessous

https://www.tutorialrepublic.com/faq/how- cocher-une-case-est-cochée-ou-ne-pas-utiliser-jquery.php


0 commentaires