不确定这是否可行,我刚开始学习javascript和jQuery . 如果我不希望这样的方式,我很乐意听到不同的方式,我可以实现这一目标 .
我想显示一个日期选择器,用户将点击日期,当他们进行操作时,会出现一个对话框,其中包含特定的预定义数据 . 他们可以选择不同的日期,它会打开另一个包含不同预定义数据的对话框,我想跟踪他们点击的日期 .
<div id="tabs">
<ul>
<li><a href="#tabs-1">First</a></li>
<li><a href="#tabs-2">Second</a></li>
<li><a href="#tabs-3">Third</a></li>
</ul>
<div id="tabs-1">
<p>I'm going to have different data applying to only this day</p>
</div>
<div id="tabs-2">
<p>I'm going to have different data applying to only this day</p>
</div>
<div id="tabs-3">
<p>I'm going to have different data applying to only this day</p>
</div>
</div>
Open jQuery dialog box upon selecting a date from jQuery datepicker inline
该链接很有用,因为用户有一个jsfiddle:http://jsfiddle.net/qqabC/这是我想要做的开始,我只是不确定如何或是否甚至可以将div合并到对话框中 . 我一直在搞乱,但我一直无处可去 . 选择的每个日期都将包含不同的对话框内容 .
如果这是不可能的,那么实现这一目标的最佳方法是什么?谢谢 .
- 编辑:我仍然需要使用div id“tabs”来实现我在上面定义的div . 标签=锻炼日 . 因此,tab-1到tabs-5将是5天 . tabs-1将是他们的第一个单击,即第1天表单内容,tabs-2将是他们的第二个单击,即第2天表单内容,依此类推 . 我相信我应该使用for循环,因为每次单击div都会增加到下一个 . 我试图做一些像:
var divs = $('#tabs > div[id]');
var links = $('#tabs li');
divs.hide();
for (i=0;i<=max_workouts;i++) {
$('#tabs li').on('click', function(e){
var clickedID = $(this).attr('href').clone().appendTo(#workout-modal);
}
像这样的东西,每次点击迭代div,但它不起作用,我一直试图找到将现有div内容放在模态中的例子但是没有通过这种方式迭代div,你有什么建议吗?
1 回答
以下是如何使用Bootstrap实现此功能的示例 . 当然,您需要根据需要更改功能和设计,但这应该是一个公平的开始
The workflow is as follows:
用户点击日期
模态显示各种输入
模态打开时清除输入
用户在输入中输入信息
用户点击添加锻炼
在显示屏上添加了一个 Span 标签,显示了锻炼号码和所选日期
此 Span 的数据属性设置为存储日期, Headers 和模态输入中的每个值
如果用户单击 Span 右端的"X",则会将其删除
如果用户在任何其他位置单击span标签,则会重新打开模式并使用作为 Span 属性存储的数据填充输入
如果用户在加载现有版本后单击添加锻炼,则新版本将替换旧版本,而不是添加到div的末尾
这里也是一个jsFiddle