1
我得到一個JavaScript錯誤在textarea字段中不是數字「NaN」。爲什麼我的Javascript代碼意外地說我的字符串值不是數字(NaN)?
我想從自動完成jqueryui中選擇一個字符串,並將選定的字段顯示到textarea中。 Json數組中的數值正確顯示,但字符串值顯示NaN。
這是我的JSON數組:
var financialClasses=[
"abc",
"PQR",
"xyz" ];
// these are the functions for selecting multiple values in the autocomplete textbox
function split(val) { return val.split(/,\s*/); }
function extractLast(term) { return split(term).pop(); }
// This function logs the selected field in the textarea
function financialclasses_log(message)
{
$("#financialclasses-log")
.append(message+", ").prependTo("#financialclasses-log"); }
$("#financialclasses")/* this function is required when selecting multiple values */
.bind("keydown", function(event) {
if (event.keyCode === $.ui.keyCode.TAB &&
$(this).data("ui-autocomplete").menu.active) { event.preventDefault(); } })
.autocomplete({
minLength: 0,
source: function(request, response) {
// delegate back to autocomplete, but extract the last term
response($.ui.autocomplete.filter(
financialClasses, extractLast(request.term)));
},
focus: function() {
// prevent value inserted on focus
return false;
},
select: function(event, ui) {
financialclasses_log(ui.item ?
+ ui.item.value:
"Nothing selected, input was " + this.value);
var terms = split(this.value);
// remove the current input
terms.pop();
// add the selected item
terms.push(ui.item.value);
// add placeholder to get the comma-and-space at the end
terms.push("");
this.value = terms.join(", ");
$(this).val("");
return false;
}
});
// here is the html
<div id="financialclass" class="autocomplete_divs" class="ui-widget">
<fieldset style="padding:0px">
<a href="addlist.jsp" style="float:right; margin-right:5px">Add List</a><br>
<label for="financialclasses"></label>
<input id="financialclasses" size="25">
<br>
<textarea id="financialclasses-log" class="log" class="ui-widget-content"></textarea>
<legend title="Financial Classes"><b>Financial Classes</b></legend>
</fieldset>
</div>
http://jsfiddle.net/pratik24/gEkWF/2/
哇,這工作。非常感謝,我現在感到很沮喪。 :-(, – patz
不用擔心!正如Dijkstra所說:「如果調試是刪除錯誤的過程,那麼編程必須是將它們放入的過程。」 – apsillers
關於textarea字段的另一個問題是,一旦我從textarea,然後再次嘗試從自動填充字段中選擇任何新字符串不顯示在textarea中。 – patz