Problem war, dass ein einfacher blur handler auch getriggert hat wenn das jqm
aufgeht. Dafür ist der timermechanismus jetzt mit ins widget gewandert und der
blur handler wird einfach abgebrochen
var state = STATES.PICKED;
var last_real = $real.val();
var last_dummy = $dummy.val();
var state = STATES.PICKED;
var last_real = $real.val();
var last_dummy = $dummy.val();
- var open_dialog = function(){
+ var timer;
+
+ function open_dialog () {
open_jqm_window({
url: 'controller.pl?action=Part/part_picker_search',
data: $.extend({
open_jqm_window({
url: 'controller.pl?action=Part/part_picker_search',
data: $.extend({
}, ajax_data($dummy.val())),
id: 'part_selection',
});
}, ajax_data($dummy.val())),
id: 'part_selection',
});
+ window.clearTimeout(timer);
function ajax_data(term) {
var data = {
function ajax_data(term) {
var data = {
+ function result_timer (event) {
+ window.clearTimeout(timer);
+ timer = window.setTimeout(update_results, 100);
+ }
+
function close_popup() {
$('#part_selection').jqmClose()
};
function close_popup() {
$('#part_selection').jqmClose()
};
-// $dummy.blur(make_defined_state); // blur triggers also on open_jqm_dialog
+ $dummy.blur(function(){
+ window.clearTimeout(timer);
+ timer = window.setTimeout(make_defined_state, 100);
+ });
// now add a picker div after the original input
var pcont = $('<span>').addClass('position-absolute');
// now add a picker div after the original input
var pcont = $('<span>').addClass('position-absolute');
convertible_unit: function() { return $convertible_unit },
column: function() { return $column },
update_results: update_results,
convertible_unit: function() { return $convertible_unit },
column: function() { return $column },
update_results: update_results,
+ result_timer: result_timer,
set_item: set_item,
reset: make_defined_state,
init_results: function () {
set_item: set_item,
reset: make_defined_state,
init_results: function () {
</div>
<script type='text/javascript'>
</div>
<script type='text/javascript'>
var pp = kivi.PartPicker($('#[% FORM.real_id %]'));
$(function(){
$('#part_picker_filter').focus();
pp.update_results();
});
var pp = kivi.PartPicker($('#[% FORM.real_id %]'));
$(function(){
$('#part_picker_filter').focus();
pp.update_results();
});
- $('#part_picker_filter').keypress(function (event){
- window.clearTimeout(timer);
- timer = window.setTimeout(pp.update_results, 100);
- });
+ $('#part_picker_filter').keypress(pp.update_results);