0

这是主文件:

<li id="notification0">
    <a href="#" onclick="/MyPage/MyPageView"></a>
</li>
<li id="notification1">
    <a href="#" onclick="/MyPage/MyPageView"></a>
</li>
<li id="notification2">
    <a href="#" onclick="/MyPage/MyPageView"></a>
</li>

然后,使用 javascript 和 jquery,我将文本和类添加到链接中。我想以该类作为参数调用 MyPageController 中的 MyPageView 函数。我应该在 onclick 中更改什么以将类添加为参数?但是我稍后会在代码中获取并添加该类。

我想做这个:

onclick="/MyPage/MyPageView/classForTheCorrectNotificationTag"

这就是我添加课程的方式:

$('#notification0').addClass('test');
$('#notification1').addClass('water');
$('#notification2').addClass('driver');
4

1 回答 1

1

由于您将基本控制器路径作为公共值,因此您可以简单地将其作为全局变量:

var controllerPath = "/MyPage/MyPageView/";

然后你可以在添加类的同时添加点击事件:

$('#notification0').addClass('test').click(function(e) {
    window.location.href = controllerPath + 'test';
});

根据需要添加的类的方式,这可能会变得更加动态,例如:

function SetClickable(id, path) {
    $('#' + id).addClass(path).click(function(e) {
        window.location.href = controllerPath + path;
    });
}

如果主控制器路径不是常量,您可能需要尝试使用数据属性来包含它:

<li id="notification0" data-controller="/MyPage/MyPageView/">
    <a href="#"></a>
</li>

function SetClickable(id, path) {
    $('#' + id).addClass(path).click(function(e) {
        var controller = $(this).data("controller");
        window.location.href = controller + action;
    });
}
于 2012-11-13T13:27:34.973 回答