2012-07-19 33 views
1

+标签,这是我与合作:添加和更改复选框名称上的变化

http://jsfiddle.net/VkYnQ/

的目标是选择要多次,然后选择什么样的时间,那么它应该添加并显示'Copy to more dates?'下的时间。

目前它有1静态复选框,只是为了演示它应该如何工作。

因此,当每个工作日有1个静态复选框0800时,这意味着您已经选择了1次,而且一次当前是08:00。

如果你改变了这个时间16:00,该复选框名称和标签应更改为1600

如果选择2倍,并选择第二至20:00,应该在每个添加一个复选框平日旁边的其他复选框,与标签“2000”

这是我已经尝试过,为了使变化的工作,所以复选框后,如果你从例如08:00更改为16:00如上所述:http://jsfiddle.net/epCbv/1/

这是工作,但我不能找出一种方法,使其与我的代码工作。

希望在那里的任何人都可以帮助我,当有可能的时候(2天),我会奖励300点声望/奖励。

+0

当你说'选择2次'时,你是在谈论'选择时间:'下拉?当我第一次看到你的问题时,我想你可能意味着在一个红色方块区域的'时间:'下拉菜单中进行多重选择。 – 2012-07-22 19:53:29

回答

1

我不打算做所有的工作,但我更新了你的代码,使它接近你正在寻找的目标。代码很脏,我不花很多时间,但它仍然是可以理解的。

让我知道这是不是真的就很好的方式:)

看到的结果是:http://jsfiddle.net/adrieng/VkYnQ/3/

诺塔Bene的:更新的东西没有连接到第一select.timeclock。所以选择,例如,显示至少2次,更改时间在第二,第三,第四,......选择输入^^

+0

感谢您的回答!你是对的,正如你所说的,第一个select.timeclock不起作用。如果你可以让它工作于第一个::并且当你从4次移动到2次时,它会删除相关的复选框::,因此复选框的name =“”属性是正确的,就像第一个例子copyTime [随机数] [1800]这将是伟大的,我会奖励你+300的所有努力 – Karem 2012-07-19 17:48:39

+1

你要求的改进是:[http://jsfiddle.net/VkYnQ/6/](http: //jsfiddle.net/VkYnQ/6/)。第一个'select'的变化在小提琴上不起作用,但在本地工作。 – 2012-07-19 19:53:06

+0

如果第一次选择在jsfiddle之外工作,那么太棒了!现在只剩下一件事了,复选框应该有以下名称:copyTime [星期六] [TIMECLOCK],星期日有星期一1,星期一2等星期六7。然后TIMECLOCK应该是复选框显示的那个。这是唯一剩下的!非常感谢 – Karem 2012-07-19 21:11:48

0

基于您的代码:

使用:

$('.timeSelect').on('change', function(){ 

    var ind = parseInt($(this).attr('id')) +2; 
    var newVal = $(this).val().replace(':', ''); 
    $("input:checkbox").eq(ind).attr('name', 'copyTime[1]['+newVal+']'); 
    $("input:checkbox").eq(ind).next('span').html(newVal); 

    console.log(ind); 

}); 

但变化: clone().clone(true) // ADDED

.attr('name', function() { // changing the name 
        return 'seats_timeclock[' + randnr + ']'; 
       }).attr('id', (parseInt($('select[name^=seats_timeclock]:last').attr('id')))+2) //ADDED 

,并添加一个id选择:

<td class="borderRight"> 
<select class="timeSelect" id="0" name="seats_timeclock[]"> 

这是Fiddle