在更改时添加和更改复选框名称+标签

时间:2012-07-19 12:18:23

标签: javascript jquery

这就是我正在使用的:

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声望/赏金奖励。

2 个答案:

答案 0 :(得分:1)

我的目标不是完成所有工作,但我更新了您的代码,使其接近您正在寻找的目标。代码很脏,我不会花很多时间,但仍然可以理解。

请告诉我这是否真的很好:)

查看结果:http://jsfiddle.net/adrieng/VkYnQ/3/

Nota Bene:更新内容未与第一个select.timeclock相关联。因此,选择,例如,显示至少2次并更改第二,第三,第四,...的时间...选择输入^^

答案 1 :(得分: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) //添加

.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