Use tooltip to display hint when combobox input doesn't match anything

This commit is contained in:
jzaefferer 2010-04-08 23:41:49 +02:00
parent 6204e1a3c4
commit e7882fa393
2 changed files with 19 additions and 4 deletions

View File

@ -10,6 +10,7 @@
<script type="text/javascript" src="../../ui/jquery.ui.button.js"></script> <script type="text/javascript" src="../../ui/jquery.ui.button.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.position.js"></script> <script type="text/javascript" src="../../ui/jquery.ui.position.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.autocomplete.js"></script> <script type="text/javascript" src="../../ui/jquery.ui.autocomplete.js"></script>
<script type="text/javascript" src="../../ui/jquery.ui.tooltip.js"></script>
<link type="text/css" href="../demos.css" rel="stylesheet" /> <link type="text/css" href="../demos.css" rel="stylesheet" />
<style type="text/css"> <style type="text/css">
/* TODO shouldn't be necessary */ /* TODO shouldn't be necessary */
@ -41,8 +42,12 @@
delay: 0, delay: 0,
change: function(event, ui) { change: function(event, ui) {
if (!ui.item) { if (!ui.item) {
// remove invalid value, as it didn't match anything var value = this.value;
$(this).val(""); // remove invalid value, as it didn't match anything, and display a hint
$(this).val("").attr("title", value + " didn't match any item").tooltip("open");
setTimeout(function() {
input.tooltip("close").attr("title", "");
}, 2500);
return false; return false;
} }
select.val(ui.item.id); select.val(ui.item.id);
@ -54,7 +59,7 @@
minLength: 0 minLength: 0
}) })
.addClass("ui-widget ui-widget-content ui-corner-left"); .addClass("ui-widget ui-widget-content ui-corner-left");
$("<button>&nbsp;</button>") var button = $("<button>&nbsp;</button>")
.attr("tabIndex", -1) .attr("tabIndex", -1)
.attr("title", "Show All Items") .attr("title", "Show All Items")
.insertAfter(input) .insertAfter(input)
@ -75,6 +80,13 @@
input.autocomplete("search", ""); input.autocomplete("search", "");
input.focus(); input.focus();
}); });
input.tooltip({
position: {
offset: (button.width() + 5) + " 0"
},
tooltipClass: "ui-state-highlight"
});
} }
}); });

View File

@ -1,7 +1,10 @@
/* Tooltip /* Tooltip
----------------------------------*/ ----------------------------------*/
.ui-tooltip { .ui-tooltip {
padding:8px; width:100px; position:absolute; z-index:9999; padding:8px;
width:125px;
position:absolute;
z-index:9999;
-o-box-shadow: 0 0 5px #aaa; -o-box-shadow: 0 0 5px #aaa;
-moz-box-shadow: 0 0 5px #aaa; -moz-box-shadow: 0 0 5px #aaa;
-webkit-box-shadow: 0 0 5px #aaa; -webkit-box-shadow: 0 0 5px #aaa;