1

我正在使用 YUI 3 让某人单击“全选”或“全选”,然后让选择框分别选择所有项目或取消选择所有项目。这是我的代码:

// This selects all
    Y.on('click',function (e) {
            selectBoxNode.get("options").each(function () {
               this.removeAttribute('selected');
               this.setAttribute('selected','selected');
            });
        }, selectAllNode
    );

// This selects none
   Y.on('click',function (e) {
            selectBoxNode.get("options").each(function () {
               this.setAttribute('selected','false');
               this.removeAttribute('selected');
            });
            selectBoxNode.('selectedIndex',-1);
        }, selectNoneNode
    );

selectAllLink、selectNoneLink 和 selectBoxNode 是不言而喻的,正确返回的节点。更新: selectAll 有效,我必须手动删除每个属性的“selected”属性并重新添加它。

selectNoneLink 不起作用:它只取消选择之前未选择的元素......尽管 DOM 检查显示 selectedIndex 属性确实更改为 -1,所以它可能需要刷新?

任何帮助,将不胜感激。如果这发生在所有框架中,那也很高兴知道。

谢谢!

4

1 回答 1

1

这对我有用。

YUI().use('node', function(Y) {
   Y.get('#unsel').on('click', function(e) {
     Y.get('select').get('options').set('selected',false);
   });
   Y.get('#sel').on('click', function(e) {
     Y.get('select').get('options').set('selected', true );
   });
});
于 2009-07-29T23:34:15.763 回答