2014-12-19 73 views
1

我使用这个jQuery自动完成代码:jQuery的自动完成否则,如果项目没有选择

$(document).ready(function(){ 
      var data = <?php echo $data; ?>; 
      $("#contact_name").autocomplete({ 
       source:data, 
       select: function(e, ui) { 
        e.preventDefault() // <--- Prevent the value from being inserted. 
        $("#contact_email").val(ui.item.value); 
        $(this).val(ui.item.label); 

        $("#AddAsContact").css('display', 'none'); 
        $('#AddAsContact').prop('checked', false); 
       } 
      }); 
     }); 

其工作的伟大,正是因为它应该,但如果从自动完成列表中的项目不选择别的东西是只是输入到文本输入中,我如何运行一些不同的代码。有点类似else { ...code here... }

回答

3

select当你从DropDown中得到某些东西时触发事件select

可以使用change事件以确定该项目是否属于自动完成列表或不在,

change: function (event, ui) { 
     if (ui.item === null) { 
       $(this).val(''); 
       $('#field_id').val(''); 
     } 
     } 

而且,这里是你Demo Fiddle

希望这对你有所帮助。

+0

谢谢 - 这似乎没有让我的代码正常工作,它没有把正确的信息放在每个框中。 http://jsfiddle.net/9R4cV/171/ – user3843997 2014-12-19 08:24:43

+0

那么,你想要在这里执行什么......如果从DropDown中没有选择任何值? – Runcorn 2014-12-19 09:00:26

+0

我希望我的代码能够像现在一样将值和标签放入2个文本输入中,当从自动完成列表中选择一个项目时,但如果没有项目被选中并且值只是输入到两个文本框中,那么我想要做一些其他的代码 – user3843997 2014-12-19 09:25:32