我有一个场景,需要在一组输入字段中的任何一个包含值时显示一堆按钮,并在所有输入字段都为空时隐藏这些按钮。
除了将一些代码附加到输入字段的焦点事件上以检查它们的内容并相应地显示/隐藏之外,我想不出更优雅的方法。
是否有更好的方法来实现这个功能?
谢谢
我有一个场景,需要在一组输入字段中的任何一个包含值时显示一堆按钮,并在所有输入字段都为空时隐藏这些按钮。
除了将一些代码附加到输入字段的焦点事件上以检查它们的内容并相应地显示/隐藏之外,我想不出更优雅的方法。
是否有更好的方法来实现这个功能?
谢谢
$(function(){
var $fields = $('input[type=text]'),
$btn = $('#btnid'),
i;
$btn.hide();
$fields.blur(function(){
for(i = 0; i < $fields.length; i++){
if($fields[i].value != '') {
$btn.show();
return;
}
}
$btn.hide();
});
});
<form id="myForm">
<input .../>
<select .../>
<!-- etc. -->
</form>
$(function ()
{
var $myForm = $('#myForm'),
$inputs = $myForm.find('input, select'),
$buttons = $('select a bunch of buttons');
$myForm.change(function ()
{
$buttons.toggle(!!$inputs.filter(function ()
{
// NB, using .val() won't work for checkboxes
return !!$(this).val();
}).length);
}).change();
});