【问题标题】:jquery text input box pass to variablejquery文本输入框传递给变量
【发布时间】:2012-08-01 22:30:50
【问题描述】:

这是我第一次使用 jquery,虽然这是一个相当简单的任务,但我已经被困住了。 我有一个输入框,里面有一天中的时间。我想创建一个按钮来获取时间并将其发送到一个变量(setTime),这样我就可以在脚本的其他地方使用时间。 但是我在传递变量时遇到了麻烦,我添加了一个警报窗口,但我得到的只是空白警报或“未定义”警报。 第一行

开始时间.... 工作正常,它的 setTime 东西坏了。

页眉: setTime = $('#setTime').text(); $('#formTime').timeEntry({show24Hours: true});

页面正文:

<p>Start Time <input type="text" size="2" id="formTime" class="spinners" value="" /> </p>

    <input type="button" value="Set Time" onclick="$('#setTime').val('#formTime');" />
    <input type="button" value="Show Date" onclick="alert(setTime);" /> 

谢谢

【问题讨论】:

  • 如果您表明您已先完成研究,您更有可能得到好的答案。 “帮我解决这个问题”几乎没有研究表明的问题是不受欢迎的。

标签: javascript jquery


【解决方案1】:

您必须对代码进行一些更改。
例如,通过添加一些 id 来更新您的 Html。

<p>
    Start Time <input type="text" size="2" id="formTime" class="spinners" value="" />
</p>

<input id="setTime" type="button" value="Set Time" />
<input id="showTime" type="button" value="Show Date" /> ​

我个人不喜欢将脚本分配给 html 控件中的事件,因为它们变得难以维护并且会使页面变得混乱。
您可以在脚本标签内的 html 页面底部编写脚本,或者更好的是,使用外部 js 文件。外部 js 文件也将保持您的 Html 干净并且您的脚本不引人注目。

var setTime = 0;
var $fromTime = $("#formTime")

$("#setTime").off("click").on("click", function(){
    setTime = $fromTime.val();
});

$("#showTime").off("click").on("click", function(){
    alert(setTime);
});

查看工作DEMO

使用 jQuery 有时会让人感到困惑,但在线 documentation 很棒。

【讨论】:

  • +1 表示帖子中的敬畏和某些东西,即演示和意见。
  • @Tats_innit:谢谢。不胜感激。
【解决方案2】:

#setTime 的意思是“id 为'setTime'的元素”- 你没有具有该id 的元素,并且你试图获取其值的控件根本没有id。

timeEntry 不是 jQuery 方法,所以当你尝试调用它时会出错。如果您正在使用您认为应该添加该方法的插件,那么您应该这样说。

.val('#formTime') 将表单控件的值设置为字符串#formTime。如果您想获取该值,请不要向该方法传递参数……并将方法调用的返回值分配给某物。

您可能应该通过introduction to programming and JavaScript 工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-25
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多