1

这是我第一次使用 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);" /> 

谢谢

4

2 回答 2

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);
});

查看工作演示

使用 jQuery 有时会让人感到困惑,但在线文档非常棒。

于 2012-08-01T22:47:34.833 回答
0

#setTime意思是“id 为'setTime'的元素”——你没有那个id的元素,你试图获取值的控件根本没有id。

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

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

您可能应该通过对编程和 JavaScript 的介绍来工作。

于 2012-08-01T22:33:04.187 回答