Javascript Mootools数组的Access元素

Javascript Mootools数组的Access元素,javascript,html,mootools,Javascript,Html,Mootools,我使用了一些Mootools来访问HTML select元素的值,但问题是使用Mootools[.getSelected()]执行此操作的方法返回一个数组,我不知道如何处理它 我的代码: <script type="text/javascript"> window.addEvent('domready', function(){ $('votconj').addEvent('click', function() { // This works great

我使用了一些Mootools来访问HTML select元素的值,但问题是使用Mootools[.getSelected()]执行此操作的方法返回一个数组,我不知道如何处理它

我的代码:

<script type="text/javascript">
  window.addEvent('domready', function(){
    $('votconj').addEvent('click', function() {
      // This works great 
      $('jj_conjoint').addClass("validate['required']");
      $('mm_conjoint').addClass("validate['required']");
      $('aaaa_conjoint').addClass("validate['required']");
      $('conjoint_regime').addClass("validate['required']");
      new FormCheck('form');
    });
    if ($('nb_children').getSelected() == 1){
     // this doesn't work because .getSelected() returns an array and never equals 1
     $('jj_enfant1').addClass("validate['required']");
     $('mm_enfant1').addClass("validate['required']");
     $('aaaa_enfant1').addClass("validate['required']");
     new FormCheck('form');
    }
    if ($('nb_children').getSelected() == 2){
     // this doesn't work because .getSelected() returns an array and never equals 2 
     $('jj_enfant2').addClass("validate['required']");
     $('mm_enfant2').addClass("validate['required']");
     $('aaaa_enfant2').addClass("validate['required']");
     new FormCheck('form');   
    }

    new FormCheck('form');
}); 

</script>

addEvent('domready',function(){
$('votconj').addEvent('click',function(){
//这很有效
$('jj_conjuint').addClass(“validate['required']”);
$('mm_conjoint').addClass(“validate['required']”);
$('aaaa_conjunction').addClass(“validate['required']”);
$('conjoint_regime').addClass(“validate['required']”);
新表格支票(“表格”);
});
如果($('nb_children')。getSelected()==1){
//这不起作用,因为.getSelected()返回一个数组,并且从不等于1
$('jj_enfant1').addClass(“验证['required']);
$('mm_enfant1').addClass(“验证['required']”);
$('aaaa_enfant1').addClass(“验证['required']”);
新表格支票(“表格”);
}
如果($('nb_children')。getSelected()==2){
//这不起作用,因为.getSelected()返回一个数组,并且从不等于2
$('jj_enfant2').addClass(“验证['required']);
$('mm_enfant2').addClass(“验证['required']”);
$('aaaa_enfant2').addClass(“验证['required']”);
新表格支票(“表格”);
}
新表格支票(“表格”);
}); 

getSelected()
返回一个数组,因为某些select元素允许多次选择。如果你的孩子没有,你可以试试
$('nb_children')。getSelected()[0]
。要获取值,可以使用
$('nb_children')。getSelected()[0]。获取(“值”)

要检查所选项目的值,对吗

尝试:

if ($('nb_children').getSelected().get('value') == 1){//...

您可以使用
。每个
遍历MooTools中的数组:

var selected = $('nb_children').getSelected();

selected.each(function(element) {
  var val = element.get('value');

  $('jj_enfant' + val).addClass("validate['required']");
  //etc
}

new FormCheck('form');
有关更多信息:

getSelected()
始终返回一个数组的原因是,当您决定添加多个可选项而不是一个可选项时,这样的代码总是可以重用的

编辑

请注意,上面的代码是直接编写的。可能需要一些调整才能使其适用于您的案例

编辑2


将代码更新为更全面的示例。

谢谢您的回答,但它不起作用。我已经更新了我的帖子,使我的代码更加全面。谢谢你的回答,但它不起作用。我已经更新了我的帖子,使我的代码更加全面。