5

ユーザーが複数の非同時日付を選択できる日付ピッカーをサイトに追加しようとしています。Multidatepickerは私がやりたいことをしているように見えますが、特にここで確認されている AltField で、バグを発見したと思うところまで来ました。このバグは、altfield の値の表示を停止しているようです。Multidatepickerデモにアクセスして altfieldを調べると、空のように見えても値がコードに表示されていることがわかります。

これが私に提示する問題は、アプリ/DB からレコードを返すときに、以前に選択した日付を編集できないことです。altfield の値を Rails アプリに渡してデータベース ストレージに戻すと、コードに表示されている非表示の値のみが表示されます。

altfield にこれらの値を正しく表示させ、日付セレクターを介して編集できるようにすることができれば、アプリのバックエンド内で修正する必要があります。

上記の github リンクで提案されている修正では、この問題は解決されないことに注意してください。ピッカーで選択されている「dateVar」の日付のレンダリングのみを有効にします....altField に値を表示することは何もしません。

誰かがこれを使用し、同じ問題を抱えて解決しましたか?

誰もそれを修正する方法を知っていますか?

また

Twitter Bootstrap を使用して、Rails 3 アプリでうまく動作する優れた代替案を誰か提案できますか。複数の非同時の日付を選択できることは非常に重要です。私はかなり広範囲に検索しましたが、MultiDatesPicker は私が見つけることができる唯一のオプションの 1 つです。

4

2 に答える 2

3

問題はMultidatespickerリッスンしていない#altFieldため、日付を追加/削除する独自のリスナーを作成する必要があることです。

アイデアは、hiddenまたはreadonly入力に値を追加し、他の日付を追加/削除することです。これにより、顧客が日付を追加#altFieldして、プラグインによって上書きされるのを防ぎます。

HTML

<input type="text" id="date">

<button type="button" id="addDate">Add dates</button>

<button type="button" id="removeDate">Remove dates</button>

<div class="ui-state-error" id="error"></div>
<br />
<input type="text" id="altField" readonly value="2013-08-30,2013-08-31">

ジャバスクリプト

JavaScript を使用すると、ボタンで日付を追加するだけです (キーアップまたは想像できるものなら何でも構いません :)

var dates = $('#altField').val().split(',');


   $('#datepicker').multiDatesPicker({
   dateFormat: "yy-mm-dd",
   addDates: dates,
   altField: '#altField'
   });

    $('#addDate, #removeDate').on('click', function() {
        try {
            var $date = $('#date');
            var addOrRem = $(this).attr('id') === "addDate" ? 'addDates' : 'removeDates'; 

            $('#datepicker').multiDatesPicker(addOrRem, $date.val());
            $date.val('');
        } catch (e) {
            var $error = $('#error');
            $error.html(e).slideDown();
            setTimeout(function() {
                $error.slideUp();
            }, 2000);

        }
    });

jsフィドル

于 2013-08-31T02:01:16.800 に答える