我正在使用一些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>
答案 0 :(得分:1)
getSelected()
返回一个数组,因为某些select元素允许多个选择。如果你没有,你可以尝试$('nb_children').getSelected()[0]
。要获得该值,您可以使用$('nb_children').getSelected()[0].get("value")
。
答案 1 :(得分:0)
您想检查所选项目的值,对吗?
尝试:
if ($('nb_children').getSelected().get('value') == 1){//...
答案 2 :(得分:0)
您可以使用.each
遍历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');
了解更多信息:http://mootools.net/docs/core/Types/Array#Array:each
getSelected()
始终返回数组的原因是,当您决定添加多个可选项而不是一个时,可以始终重复使用此类代码。
修改强>
请注意,上面的代码是直接编写的。可能需要进行一些调整以使其适合您的情况。
修改2
将代码更新为更全面的示例。