【问题标题】:Last Clicked Radio button ID上次单击的单选按钮 ID
【发布时间】:2014-09-26 14:26:20
【问题描述】:

我有一个由多行组成的表格,每一行由第一列中的单选按钮组成,如下所示:

<table class="table table-condensed span8" id="AllocationTable">
    <thead>
        <tr>
            <th title="Entity to Allocate" style="width: 30%">Entity</th>
        </tr>
    </thead>
    <tbody>
        @foreach (var item in Model.EntityAllocations)
        {
            <tr>
                <td>
                    <input type="radio" name="radio" id="@item.ID" class="EntityRadioSelect" value="@item.ID" onclick="EntitySelect(this)" disabled="disabled" >
                </td>
            </tr>
        }
    </tbody>
</table>

现在我想捕获最后点击的单选按钮的 ID 我已经尝试过这样的事情

function EntitySelect(select) {
    if ($(select).parent().data("lastClicked")){
        alert($(select).parent().data("lastClicked"));
    }
    $(select).parent().data("lastClicked", select.id);
}

但是我得到了错误的值,因为它给了我当前的值,有时还有其他不被接受的值。

【问题讨论】:

    标签: javascript jquery asp.net asp.net-mvc-3 razor


    【解决方案1】:
    var clicked='';
    var preClicked='';
    $("#AllocationTable").on("click",".EntityRadioSelect",function(){
        preClicked=clicked;
        clicked=$(this).attr("id");
    });
    

    删除 onclick="EntitySelect(this)"

    【讨论】:

    • 它会给出这个元素的 id,即当前的 id 而不是前一个
    • 我更新了,你可以试试。您可以获取当前和上一个
    【解决方案2】:

    试试这个:

    function EntitySelect(select) {
        var parent=$(select).parents('#AllocationTable');
        if (parent.data("lastClicked")){
            alert(parent.data("lastClicked"));
        }
        parent.data("lastClicked", select.id); 
    }
    

    【讨论】:

    • 您不妨将整个 if 块替换为 alert(select.id)
    • 对不起,我得到的是当前点击的单选按钮 ID,而不是上一个与以前相同的结果
    • 好的,我想我们看错了家长,我改变了答案,请再试一次
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-15
    • 2019-05-05
    • 2013-03-16
    • 1970-01-01
    • 1970-01-01
    • 2018-12-18
    • 1970-01-01
    相关资源
    最近更新 更多