呵呵,這個oneliner應該這樣做:
$(form).select('.'+className).invoke('getValue').uniq().size()===1; // true means all values are the same
- 製造陣列出與類名你是之後(輸入/等)元素的值(運行
invoke
)
- 使數組僅包含唯一值(在陣列上調用
uniq
)
- 查看是否其長度爲1個
鏈接原型文檔:Element.select
,Enumerable#invoke
,Form.Element.getValue
,Array#uniq
實施例:
<body>
<form action="#" id="myform">
<input type="text" name="foo1" class="foo" />
<input type="text" name="foo2" class="foo" />
<input type="text" name="foo3" class="foo" />
<input type="text" name="foo4" class="foo" />
<input type="text" name="foo5" class="foo" />
<input type="submit" />
</form>
<script type="text/javascript">
// Returns true if all values of elements with a certain classname in the form has the same value
function bar(form, className) {
return $(form).select('.'+className).invoke('getValue').uniq().size()===1;
}
// Usage: bar('myform', 'foo');
</script>
</body>