在视图中将id从视图传递到javascript中

时间:2014-02-12 17:20:00

标签: javascript jquery knockout.js

我有这个链接,我有一个数据绑定到它与userId和typeId等属性。如何将这些相同的ID传递到我的javascript('click')...功能?

<div class="removeUser">
    <a id="userRemoveSubmit" class="icon-minus" href="#" data-bind="attr: { 'data-user-id': ID(), 'data-type-id': TypeId()}"></a>
</div>

使用Javascript:

$(document).on('click', '.removeUser', function (event) {

    $.views.Project.RemoveUser($(this).attr('data-user-id'), $(this).attr('data-type-id'));
});

当我尝试运行这个时,我得到userId和typeId都是未定义的。我如何从视图中正确传递id?

1 个答案:

答案 0 :(得分:1)

您可以在knockout中使用“click”绑定,而不是连接单击事件处理程序。 click绑定调用的函数将接收当前模型值作为第一个参数。所以你可以这样做:

<a class="icon-minus" href="#" data-bind="click: removeUser"></a>

视图模型中的removeUser函数可以执行此操作:

function removeUser(item) {
    alert(item.ID());
    alert(item.TypeId());
}

请参阅knockout documentation on click binding(特别是“注1”)。