如何使用mootools为表单元素设置值

时间:2010-07-08 16:37:45

标签: forms select input mootools element

我有一个带有input元素的表单和带有multi select的select元素。那么如何设置输入元素的值并在mootools中选择元素。

3 个答案:

答案 0 :(得分:8)

基本上 - element.get("value");返回所有输入的值,选择和textareas,.set("value", value);来设置它们(除了倍数)

选择多个更复杂 - 上面只返回FIRST选择,你需要做element.getSelected().get("value")来接收一个值数组(.getSelected()自己会返回指向实际的{ {1}}元素)

最后,要设置多个选择,只有我能想到atm的方法是编写自己的元素原型,使用指定的值遍历子节点并执行option

如果您需要任何帮助来撰写后者,请告诉我

答案 1 :(得分:3)

下拉:

$('idOfSelect').selectedIndex = x;

对于文字:

 $('IdOfInput').value = 'Foo';

答案 2 :(得分:2)

关于倍数的答案是正确的,需要使用selectEl.getChildren('option').each(function(option)...

但是即使对于单个选择,在IE中(我在IE9中测试它)如果每个选项中没有“value”属性,则Mootools失败,即 selectEl.set('value', value)不起作用。在FF中它可以工作,并且在IE中它可以工作,如果你设置每个元素的“值”属性。

我的解决方案是:

selectEl.getElements('option').each(function(option) {
   option.selected = option.get('value')==value
});

请注意,即使在没有value属性的IE中,option.get('value')也能正常工作,Mootools提供了选项text