2010-07-12 62 views
0

我有日期和说明。如果输入日期,则描述应自动完成。如果选择12/25/yyyy,那么圣诞节应该会自动显示?的JavaScript自动完成

我想这一点,但它不工作。任何帮助?

<html> 
<head> 
<script type="text/javascript"> 
$(function() { 
$('#date').datepicker(); 
}); 
$(function() { 
var availableTags = ["Christmas Day","etc"]; 
$("#tags").autocomplete({ 
source: availableTags 
}); 
}); 

$('#date').change(function() { 
if ($(this).val().substring(0, 5) === '12/25') { 
$('#tags).val('Christmas'); 
} else { 
$('#tags').val(''); 
} 
}); 
</script> 
<body> 
<DIV class="ui-widget">Date: <INPUT TYPE="TEXT" name="xx" 
property="xx" id="date" /> 
</P> 
<input type="text" id="tags'" name="tags'" /> 
</DIV> 
</body> 
</html> 
+0

对于较长的代码块,选择所有代码并点击工具栏上的“101010”按钮。反引号用于像'var x = y;' – jasongetsdown 2010-07-12 22:17:28

回答

0

使用onchange事件。使用jQuery ...

$('#dateInputId').change(function() { 
    if ($(this).val().substring(0, 5) === '12/25') { 
     $('#secondInputId').val('Christmas'); 
    } else { 
     $('#secondInputId').val(''); 
    } 
}); 
+0

这样的短片段编辑您的初始文章并在其中添加代码。仅供参考在代码中输入代码时,请在代码片段前后使用反引号(左侧的1键)代替[code] [/ code]。对于回答问题中的较长段代码(在注释中不起作用),请突出显示代码并单击1010101所示的工具栏按钮。这将像上面的代码一样保留缩进。 – jasongetsdown 2010-07-12 21:35:39

+0

我试着反引号(')来显示代码片段。它确实显示? – 2010-07-12 21:44:06

+0

通过一些调整它可以工作:http://jsbin.com/usovi3/edit。你有一个或两个在那里,我不知道你为什么做'$(function(){...})'。这将一个函数传递给jQuery,这不起作用。我假设你要做的是使用匿名函数块来创建一个私有的作用域,比如'(function(){...})();'或者在DOM准备好$(document) .ready(function(){...});'。 – jasongetsdown 2010-07-12 22:00:05

0

这样做你需要在每一天的每一天的后端有一个巨大的数据库。但它可能不起作用,因为有一天会有很多特殊的日子,甚至两天之内可能会有特别的日子。

如果每个日期只有一天,我会的日期(或一天的描述)发送到后端,然后返回可能的建议。如果您没有任何日期设定,我甚至会为描述启用自动完成功能。

在用于我会同时显示描述的响应时,文本和bracets日期,然后将日期添加到所述第一输入,一旦用户选择一个选项。