将jQuery脚本转换为YUI:选中的复选框将复制到自定义窗口小部件中

时间:2013-10-09 00:49:09

标签: jquery yui

我正在使用RightNow CRM软件,编码我们的支持门户网站的一部分是,由于最佳实践(仅使用一个脚本库),我必须使用YUI脚本而不是jQuery。我已经包含了我要转换为YUI的jQuery脚本和我尝试过的YUI“翻译”。任何帮助都会有很长的路要走,我使用this website来执行这些翻译。

jQuery script

$(function() {
$('input').on('click', function() {
    var values = [];
    $('input:checked').each(function() {
        values.push($(this).parent().text());
    });
    $('[name="result"]').attr({value: values.join(', ')});
});
});

YUI script

YUI().use('node', 'io', 'event', 'animation', function (Y) {
Y.all('input[type=checkbox]').delegate('click', function(Y) {
    var values = [];
    Y.all('input:checked').each(function(Y) {
        values.push((this).parent().text());
    });
    Y.one('result').setAttribute({value: values.join(', ')});
});
});

2 个答案:

答案 0 :(得分:1)

你可以尝试这个......实际上我无法测试,因此我想猜测它应该做什么。还有一些改进你的“翻译”。

YUI().use('node', 'io', 'event', 'animation', function (Y) {
    Y.all('input[type=checkbox]').on('click', function(event) {
        var values = [];
        Y.all('input:checked').each(function(checkbox) {
            values.push(checkbox.ancestor().getHTML());
        });
        Y.one('[name=result]').set( "value", values.join(', ') );
    });
});

答案 1 :(得分:1)

真棒!我测试了它,它工作但显示了HTML;我将“.getHTML”标签更改为“get('text')”并且它完美无缺! You can see it here

YUI().use('node', function (Y) {
Y.all('input[type=checkbox]').on('click', function(event) {
    var values = [];
    Y.all('input:checked').each(function(checkbox) {
        values.push(checkbox.ancestor().get('text'));
    });
    Y.one('[name=result]').set( "value", values.join(', ') );
});
});