代码之家  ›  专栏  ›  技术社区  ›  rxmnnxfpvg

当选择“无”时,是否需要在yui 3中刷新javascript selectbox?

  •  1
  • rxmnnxfpvg  · 技术社区  · 15 年前

    我使用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,所以可能需要刷新?

    任何帮助都将不胜感激。如果这发生在所有框架中,那么最好也知道这一点。

    谢谢!

    1 回复  |  直到 15 年前
        1
  •  1
  •   seth    15 年前

    这对我有用。

    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 );
       });
    });