用jquery和计时器发送文本

时间:2011-04-11 09:22:34

标签: jquery timer

我的脚本的想法是将文本从选择菜单或文本字段发送到文本区域。到目前为止,当我选择一个选项时,我能够使选择菜单正常工作,但是当我键入内容时,它不会发送任何内容。此外,我想为此脚本添加一个时间,以便当用户选择一个选项或在其中键入内容时将发送。

现在它只适用于选择菜单...不知道如何使其适用于文本字段并添加计时器:(

<select id="status" name="status">
    <option value=""></option>
    <option value="Away">Away</option>
    <option value="Busy">Busy</option>
    <option value="Out To Lunch">Out To Lunch</option>
    <option value="Offline">Offline</option>
</select>

<input name="custom_status" type="text">

<div id="counter"></div>

作为

$(function() { 
$("#status").change(function() {
   $("textarea[name=mess]", parent.frames['form'].document).val($(this).val());
 });

$("#custom_status").change(function() {
   $("textarea[name=mess]", parent.frames['form'].document).val($(this).val());
 });
});

2 个答案:

答案 0 :(得分:1)

将ID添加到自定义状态会很好:

<input id="custom_status" name="custom_status" type="text" />

然后你可以同时在两个部分上运行功能:

$("#status, #custom_status").bind('change keyup',function(){
    $("textarea[name=mess]", parent.frames['form'].document).val($(this).val());
});

并像这样处理超时:

var callAway = false;

$('body').bind('mousemove keyup',function(){
    clearTimeout(callAway);
    callAway = setTimeout(function(){
        $("#counter").text("Away");
    },5000);
})

小提琴:http://jsfiddle.net/eC9L6/

答案 1 :(得分:0)

$("[name='custom_status']").change(function() {
   $("textarea[name=mess]", parent.frames['form'].document).val($(this).val());
});

$("[name='custom_status']").bind('keyup change', function() {
   $("textarea[name=mess]", parent.frames['form'].document).val($(this).val());
});

您的选择器错误,没有id为custom_status的输入,而是一个名为custom_status的输入。