2010-07-12 63 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日期,然後將日期添加到所述第一輸入,一旦用戶選擇一個選項。