我从一个文本框中获取值并将其放入另一个文本框中。传输的值是问题的持续时间,两个文本框都使用jQuery timepicker插件。现在这适用于第一个文本框,但它不适用于第二个文本框。我想在第二个文本框旁边添加一个按钮,以便用户可以打开时间戳,以防用户想要更改第二个文本框中的持续时间。
所以我想在下面包含这个时间戳函数:
$(document).ready(function() {
$(function() {
$('#questiondurationpickerRow').trenttimepicker({
timeFormat: 'hh mm ss',
hourGrid: 4,
minuteGrid: 10,
secondGrid: 10,
showOn: 'button',
buttonImage: "Images/clock.gif",
buttonImageOnly: true
});
});
});
进入下面的InsertQuestion(表单)函数:
var qnum = 1;
function insertQuestion(form) {
var $tr = $("<tr></tr>");
var $duration = $("<td class='duration'></td>");
$('#questiondurationpicker').each(function() {
var $this = $(this);
var $durationText =
$("<input type='text' id='questiondurationpickerRow' readonly='readonly' />")
.attr('name', $this.attr('name'))
.attr('value', $this.val())
$duration.append($durationText);
});
$tr.append($qid);
$tr.append($duration)
$('#qandatbl').append($tr);
form.numberOfQuestions.value = qnum;
++qnum;
$("#questionNum").text(qnum);
form.questionText.value = "";
}
我们要做的是显示我在“#questiondurationpickerRow”文本框旁边创建的时间选择按钮,以便用户可以点击按钮并打开时间戳来打开持续时间。
我试图将“questiondurationpickerRow”timepicker函数放在insertQuestion(form)函数中,但它不显示按钮。以下是我的尝试:
var qnum = 1;
function insertQuestion(form) {
$(document).ready(function() {
$(function() {
$('#questiondurationpickerRow').trenttimepicker({
timeFormat: 'hh mm ss',
hourGrid: 4,
minuteGrid: 10,
secondGrid: 10,
showOn: 'button',
buttonImage: "Images/clock.gif",
buttonImageOnly: true
});
});
});
var $tr = $("<tr></tr>");
var $duration = $("<td class='duration'></td>");
$('#questiondurationpicker').each(function() {
var $this = $(this);
var $durationText =
$("<input type='text' id='questiondurationpickerRow' readonly='readonly' />")
.attr('name', $this.attr('name'))
.attr('value', $this.val())
$duration.append($durationText);
});
$tr.append($qid);
$tr.append($duration)
$('#qandatbl').append($tr);
form.numberOfQuestions.value = qnum;
++qnum;
$("#questionNum").text(qnum);
form.questionText.value = "";
}
如何在insertQuestion(form)函数中包含“questiondurationpickerRow”timepicker函数,以便它在文本框旁边显示timepicker按钮?
答案 0 :(得分:0)
为此:
function insertQuestion(form) {
$(document).ready(function() {
$(function() {
$('#questiondurationpickerRow').trenttimepicker({
你需要的只是:
function insertQuestion(form) {
$('#questiondurationpickerRow').trenttimepicker({
我没有看到定义
$tr.append($qid);
$ qid的
很难猜出).trenttimepicker
真正做了什么。
编辑:
看着:
$('#questiondurationpicker').each(function() {
var $this = $(this);
var $durationText =
$("<input type='text' id='questiondurationpickerRow' readonly='readonly' />")
.attr('name', $this.attr('name'))
.attr('value', $this.val())
$duration.append($durationText);
});
这更有意义(并修复语法错误)
做:
$this = $('#questiondurationpicker');
var $durationText = $("<input type='text' id='questiondurationpickerRow' readonly='readonly' />")
.attr('name', $this.attr('name'))
.attr('value', $this.val());
$duration.append($durationText);
重新:缺少分号
只有一个元素可以与给定ID一起出现,因此不需要each()
个东西
最终返工:
var qnum = 1;
function insertQuestion(form) {
var $tr = $("<tr></tr>");
var $duration = $("<td class='duration'></td>");
$this = $('#questiondurationpicker');//assume this exists
var $durationText = $("<input type='text' id='questiondurationpickerRow' readonly='readonly' />").attr('name', $this.attr('name')).attr('value', $this.val());//was issing semi colon
$duration.append($durationText);
$tr.append($qid);//assume $qid exists and is an element
$tr.append($duration) $('#qandatbl').append($tr);
form.numberOfQuestions.value = qnum;//another assumption
++qnum;
$("#questionNum").text(qnum);// assume this exists
form.questionText.value = "";//assume this exists
// This has to be after it gets inserted
$('#questiondurationpickerRow').trenttimepicker({
timeFormat: 'hh mm ss',
hourGrid: 4,
minuteGrid: 10,
secondGrid: 10,
showOn: 'button',
buttonImage: "Images/clock.gif",
buttonImageOnly: true
});
}
这是一个使用jQuery UI datepicker的示例页面: http://jsfiddle.net/MarkSchultheiss/Mykd6/