behnam
behnam

Reputation: 1143

why jQuery AJAX doesn't work in second row?

I'm working on a table, my table has a lot of column.in fact I want to update just a column that has textarea when I click on "#btnnVerify" in first row AJAX works perfectly but when I click on "#btnnVerify" in second row it didn't work.I've added alert function in jQuery code but it didn't work on second row but it works on first row perfectly I just show to you some columns of my tables because these are important.

<table>
    <td>

        <input type='checkbox' id="StockIDCheckBox" name='result' [email protected] />
<tr>    
    </td>
     <td>
         @Html.TextAreaFor(modelItem => item.Description, new { id = "description", @row = "50", @cols = "5", @class = "form-control" })

     </td>

    <td>
        <a class="btn btn-info btn-sm" data-toggle="modal" data-target="#verify" id="btnnVerify" onclick="SaveandVerify(@item.StockID)">
            <i class="glyphicon glyphicon-ok"></i>
        </a>
    </td>
    <td>
        <a class="btn btn-danger btn-sm" data-toggle="modal" data-target="#Reject" onclick="RejectGroup(@item.StockID)">
            <i class="glyphicon glyphicon-remove"></i>
        </a>
    </td>
</tr>
</table>

function SaveandVerify(id) {
        $.get("/Admin/VerifyStockBuy/SaveandVerify/" + id, function (result) {
            $("#verify #myModalLabel").html(" وضعیت درخواست این کالا در این کارگاه ");
            $("#verify #myModalBody").html(result);

        });



    }
    function RejectGroup(id) {
        $.get("/Admin/VerifyStockBuy/Reject/" + id, function (result) {
            $("#Reject #myModalLabel").html("رد درخواست");
            $("#Reject #myModalBody").html(result);

        });
    }
      $(document).ready(function () {
        $('#repAll').DataTable({
            "ordering": true,
            "language": {
                "search": "جستجو",
                "paginate": {
                    "previous": "قبلی",
                    "next": "بعدی"
                },
                "sLengthMenu": "نمایش  _MENU_  ردیف",
                "sInfo": "نمایش _START_ تا _END_ ردیف از _TOTAL_ ردیف",
                "sEmptyTable": "هیچ داده ای در دسترس نیست",
                "sInfoEmpty": "نمایش 0 ردیف  از 0 ردیف",
            },
            "columnDefs": [{ width: 1000, targets: 0 }],
        });

        $("#btnnVerify").click(function () {


            var Desc = $("#description").val();
            var stockId = $("#StockIDCheckBox").val();
            alert(Desc + ":" + stockId);
            $.ajax({

                url: '/VerifyStockBuy/EditDescription/',
                data: { id: stockId, Description: Desc },
                type: 'Post',
                dataType: "text",
                success: function (data) {
                }

            });


        });


    });

  [HttpPost]
    public ActionResult EditDescription(int id, string Description)
    {
        var desc = db.StockBuys.Find(id);
        desc.Description = Description;
        db.SaveChanges();
        return Content(Description);
    }

Upvotes: 0

Views: 139

Answers (1)

IbraHim M. Nada
IbraHim M. Nada

Reputation: 660

its because they have the same ID's you should give a on click event based on the class

Upvotes: 1

Related Questions