适用于多个ID的AlloyUI选择器

时间:2015-10-03 06:32:42

标签: liferay-aui alloy-ui

我想调用两个元素模糊的函数,但我只能让它适用于单个元素。

我使用A.one()方法选择元素。

这是我的代码:

AUI().use('aui-base','aui-io-request', function(A){
    A.one('#<portlet:namespace/>hospitalName',
        '#<portlet:namespace/>date').on('blur',
        function(){

    });
});

1 个答案:

答案 0 :(得分:0)

要在AlloyUI(和YUI)中按id选择多个元素,请使用Node.all方法和a CSS selector like #id1, #id2, #id3

对于您的示例,解决方案看起来像这样:

A.all('#<portlet:namespace/>hospitalName, #<portlet:namespace/>date').on('blur',
    function(event){
        // event.target is the blurred element.
        /* your code here... */
    }
);

有关详细信息,请参阅此runnable示例:

&#13;
&#13;
YUI().use('node', function(A) {

  A.all('#hospitalName, #date').on('blur', function(event) {
    var input = event.target;
    document.getElementById('output').innerHTML = input.get('id') + ' blurred';
  });

});
&#13;
<script src="https://cdn.rawgit.com/stiemannkj1/0214fdc4cccaa77d6e504320cf70a571/raw/63d260364730fb067f103c00862c7e65685256df/yui-3.18.1_build_yui_yui-min.js"></script>
Hospital Name:
<input type="text" id='hospitalName' />
Date:
<input type="text" id='date' />
<div id="output"></div>
&#13;
&#13;
&#13;