knockout.js 如何在单击、敲除时替换图像?

o0lyfsai  于 12个月前  发布在  其他
关注(0)|答案(2)|浏览(117)

我会appriciate如果有人可以帮助=)我想我的形象改变,当我点击它
.html文件:

<a href="#" data-bind="click: $root.markCompleted"><img class = "check" src = 'bee-icon-gray.jpg' width = '25px' height = '23px'/></a>

.js文件

function AppViewModel() {
            var self = this;
            self.tasks = ko.observableArray([]);

      self.markCompleted = function(task) {
                task.status('completed');
                }
}

因此,我想取代bee-icon-gray.jpg图像与bee-icon-colored.jpg当我点击它,也将是完美的,如果我可以切换的图像,每次我点击!我会感谢任何帮助!

sqougxex

sqougxex1#

在一个普通的网页中,使用jquery选择器确实是最好的,但是因为你正在构建一个带有knockout的SPA,所以在你的视图模型中混合jquery选择是不允许的。
所以,结束响应:

<a href="#" data-bind="click: $root.markCompleted"><img class = "check" data-bind='attr: {src: imageSrc}' width = '25px' height = '23px'/></a>

在您的视图模型中:

function AppViewModel() {
    var self = this;
    self.imageSrc = 'initialImage';
    self.tasks = ko.observableArray([]);
    self.markCompleted = function(task) {
        task.status('completed');
        self.imageSrc('newImage');
    }
}
r7s23pms

r7s23pms2#

试试下面的代码:

$('.check').click(function(){
    $(this).attr('src','newimagesrc');
});

相关问题