我有一个表格,上面有 5 个搜索条件输入框。我收到了一个额外的要求,即在页面上有一个“清除所有”按钮来清除输入框。
我想让“全部清除”按钮实际上是div
一个背景图像,当输入框为空时,背景图像为灰色,当输入框有内容时,背景图像为红色。
单击“全部清除”按钮将清除输入框。
除了当用户在搜索框中键入内容时切换到红色背景图像之外,我几乎已经完成了所有工作。我建立了一个 jsfiddle: http: //jsfiddle.net/pJgyu/27896/,它显示了我的问题(我使用背景颜色而不是背景图像来消除不必要的东西)。
我的 jsfiddle 中的 javascript 符合我想要做的,看起来像这样:
function clearSearchClick() {
$('.ui-clear').removeClass('enabled').addClass('disabled');
$(':input').val('');
$('.first').focus();
}
function docKeyPress(event) {
if (event.which === 13) {
event.preventDefault();
alert('pretend I searched');
}
}
function searchEmpty() {
var valid = true;
$(':input').each(function() {
if ($(this).val() !== '') return false;
});
return valid;
}
function inputKeyUp(event) {
if (!searchEmpty()) {
$('ui-clear.disabled').removeClass('disabled').addClass('enabled');
}
}
$(function () {
$('.first').focus();
$('.ui-clear').click(clearSearchClick);
$(':input').keyup(inputKeyUp);
$(document).keypress(docKeyPress);
});
我知道关于javascript的以下内容:
- 重点
.first
工作 - 点击
.ui-clear
处理程序有效
当用户键入内容时,我没有让第一个搜索框左侧的黑框变为红色。对于实现这一目标的正确、有效方法的任何见解,我将不胜感激。