单击图像时如何获取特定记录的ID

时间:2016-03-29 12:15:34

标签: jquery ajax asp.net-mvc

这是我的观点

<tbody>
    @{ int index = 0;}
    @foreach (var item in Model)
    {
        index = index + 1;
        <tr>
            <td>
                <input type="checkbox" id="@*@item.CustId*@" />
            </td>
            <td>
                <a href="javascript:void(0)" data-target="#custtransfermodel" data-toggle="modal">
                    <img src="~/Images/appimg/transfer.png" class="custid" alt="" id ="@item.CustId" />
                </a>
            </td>
            <td>
                <a href="javascript:void(0)" onclick="EditCustomer(@item.CustId)">
                    <img src="~/Images/appimg/edit.png" alt="" />
                </a>
            </td>
            <td>
                <a href="javascript:void(0)"   onclick="DeleteCustomer(@item.CustId)">
                    <img src="~/Images/appimg/delete.png" alt="" />
                </a>
            </td>
            <td>
                <a href="javascript:void(0)" id="" onclick="viewDetail()">
                    <img src="~/Images/appimg/view_detail.png" />    
                </a>
            </td>
            <td>
                @if (item.Flag == false)
                { 
                    <a href="javascript:void(0)" id="@item.CustId" class="flag" onclick="flagCustomer('false',this.id)">
                        <img src="~/Images/appimg/star.png" alt="" />
                    </a>
                }
                else
                {   
                    <a href="javascript:void(0)" class="flag" id="@item.CustId" onclick="flagCustomer('true',this.id)">
                        <img src="~/Images/appimg/MapMarker_Flag.png" />
                    </a>
                }
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.CustFirstName)
                @Html.DisplayFor(modelItem => item.CustMiddleName)
                @Html.DisplayFor(modelItem => item.CustLastName)
            </td>
            <td>@Html.DisplayFor(modelItem => item.CentreName) </td>
            <td>@Html.DisplayFor(modelItem => item.PhoneNumber)</td>
            <td>@Html.DisplayFor(modelItem => item.Email) </td>
            <td>@Html.DisplayFor(modelItem => item.EmployeeName) </td>
        </tr>
    }
</tbody>

这是我的控制器代码

[HttpPost]
public int TransferCustomer(int _empId, int _custId)
{
    Customer customer = new Customer();
    // int _result=0;
    customer.CustId=Convert.ToInt32(_custId);
    customer.CreatedBy = Convert.ToInt32(_empId);
    var result = customerBal.TransferCustomertoEmployee(customer);
    return result;    
}

您还可以看到我的视图图像

enter image description here

此图片表示我的观点。当我点击转移图像时,它会在下面显示一个局部视图,查看部分视图图像。

enter image description here

这是我的部分观点。当我点击转移按钮时,我的AJAX呼叫正在调用第一个。我的问题是,当我点击转移按钮时,我如何获得员工ID和客户ID?在第一个图像是我的客户列表,在第二个图像下拉是员工列表。我的代码出了什么问题?

**这是我在按钮转移时的Ajax调用**

&#13;
&#13;
$(document).on('click', '#btnTrasnfer', function () {
        debugger;
        
         var empid = $('#CreatedBy').val();
        var custid = $('.custid').attr('id');
        debugger;
        $.ajax({
            type: "POST",
            url: "@Url.Action("TransferCustomer", "Customer")",
            data: { _empId: empid, _custId: custid },
            success: function (data) {
                if (data === "1") {
                    notif({
                        msg: "<b>Employee Transfer sucessfully.",
                        type: "success"
                    });
                } else {
                    notif({
                        msg: "<b>error while Transfer Customer.",
                        type: "error"
                    });
                }

            },
            error: function () {
            }
        });
        debugger;

    });
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

我不清楚你特别想要的是什么。 但根据我的理解,你要求的是以下内容:

How to get value of data-id and place it into a twitter bootstrap modal?

答案 1 :(得分:0)

您可以使用类custid订阅元素的click事件,并添加一个“active”类或类似的类,如下所示。

$(".custid").on("click",function(){
   $(this).addClass("active");
});

然后在转移点击中,您可以使用此行来获取ID

$(".custid.active:first").attr("id");

然后,当所有内容都参与竞争并且模态关闭时,您可以删除活动类。

$(".custid.active").removeClass("active");