Hello!
I'm new to this group and to Javascript. Here's the problem:
I have an input textfield that reads the user input every time the
user releases a pressed key. In particular I am searching for the
first and only instance when the user inputs "due ", that is the word
'due' followed by a space. When this happens, I would like the
datepicker calendar to drop down. Next, the user would select a date
from the calendar. The selected date would then be concatenated to
the string "due " so that the text field would now read, "due
11-09-2009" for example.
Here's what works so far:
=> The calendar drops down when the word "due " is written.
Here's what needs work:
=> The selected date does not concatenate to the existing user input.
I have used the onSelect function and treated the calendar as a dialog
box. By default, the calendar opens in the center of the page. The
strange thing that happens is a new input textfield show up on the
left hand corner of the calendar and the selected date is written to
this input textfield.
I have used an alert pop up for debugging purposes and have noticed
that it doesn't pop up when I fire the onSelect function.
Here's the code:
<html>
...
<script type="text/javascript">
/* Create a flag that saved whether or not we have found the word
* 'due' in our string.
* Initialize it to false.
*/
var has_found_word_due = new Boolean(false);
/* dynamically_parse_task_entry
* This function is called every time the user releases a pressed
key when
* typing a new task entry.
*
*/
function dynamically_parse_task_entry() {
// While the user has not pressed Enter... (Check each key entered)
// Set a flag that says we have not found the word due
// Search the entire string for the word due...
// If I find the word 'due' & the has_found_word_due flag has not been
set...
// Drop down the calendar
// Set the has_found_word_due flag to true
// If I do not find the word "due " then keep the has_found_word_due
flag to false
var user_text_input = document.getElementById('datepicker').value;
// We search the entire string for "due ", if we don't find it...
if (user_text_input.indexOf("due ") !== -1 && has_found_word_due ==
false) {
$(function() {
$("#datepicker").datepicker('dialog', {changeMonth:
true,
changeYear: true, onSelect: function(dateText, inst) { var
selected_date = new Date(dateText); alert(dateText); $
('#datepicker').val() += selected_date;},});
});
has_found_word_due = true;
}
else if (the_word_due.indexOf("due ") == -1){
has_found_word_due = false;
}
}
</script>
</head>
<body>
Enter your task:
<!-- With every key pressed run the dynamically_parse_task function --
>
<input id="datepicker" type="text"
onKeyUp="dynamically_parse_task_entry()"/>
</body>
</html>
--
You received this message because you are subscribed to the Google Groups
"jQuery UI" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/jquery-ui?hl=en.