1

これは私が取り組んでいるものです:

http://jsfiddle.net/VkYnQ/

目標は、必要な回数を選択し、次に時間を選択することです。次に、 の下に時間を追加して表示する必要があり'Copy to more dates?'ます。

現在、それがどのように機能するかを示すためだけに、1 つの静的チェックボックスがあります。

したがって、各平日に静的なチェックボックス 0800 が 1 つある場合、それは 1 つの時間を選択し、その 1 つの時間が現在 08:00 であることを意味します。

この時間を 16:00 に変更すると、チェックボックスの名前とラベルが 1600 に変更されます。

2 回選択し、2 番目の 20:00 を選択すると、各平日に他のチェックボックスの横に「2000」というラベルの付いたチェックボックスが追加されます。

これは、変更作業を行うために私が試したものです。したがって、上記のように、たとえば 08:00 から 16:00 に変更すると、チェックボックスが続きます: http://jsfiddle.net/epCbv/1/

これは機能していますが、自分のコードで機能させる方法がわかりません。

誰かが私を助けてくれることを願っています。可能であれば (2 日)、+300 の評判/バウンティで報酬を与えます。

4

2 に答える 2

1

私はすべての仕事をすることを目指しているわけではありませんが、あなたが探している目標に近づくようにコードを更新しました。コードは汚れています。私は多くの時間を費やしていませんが、理解できるままです。

これが本当に良い方向に進んでいるかどうか教えてください:)

結果を参照してください: http://jsfiddle.net/adrieng/VkYnQ/3/

Nota Bene: 更新内容は、最初の にリンクされていませんselect.timeclock。たとえば、少なくとも 2 回表示し、2 番目、3 番目、4 番目、… で時刻を変更するように選択した入力 ^^

于 2012-07-19T13:38:08.090 に答える
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);

});

ただし、変更: //ADDEDclone()を使用.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です。

于 2012-07-19T13:52:20.870 に答える