0

jQuery UI Datepicker を使用していますが、誰かがカレンダー アイコンをクリックするとフォームが「送信」されますが、これは望ましくない動作です。

これでカレンダーアイコン(jQuery UI CSSスタイルのカレンダーにバインドされたもの)のクリックプロパティを制御することでキャンセルできました:

$('.datePicker').click(
   function ($e) {
       $e.preventDefault();
   });

ただし、この問題を解決するためのよりクリーンな方法が必要であると確信しています。誰かがこれに答えることができれば、それは私を大いに助けます

ありがとう !

編集:コメントに答えるには...

Javascript:

$(function () {
    $('.datePicker').each(function () {
        $(this).datepicker();
        var x = $.trim('#' + $(this).attr('id').split('_')[0]);
        $('#' + $(this).attr('id')).datepicker("option", "altField", x);
        $('#' + $(this).attr('id')).datepicker("option", "dateFormat", "yy-mm-dd");
    });
    $('.datePicker').click(
       function ($e) {
           $e.preventDefault();
       });
});

.NET によって生成されたコード:

<input type=\"text\" id=\"{0}\" class=\"datePickerText\" style=\"width:80px\">
<input type=\"image\" src=\"/Content/images/calendrier.png\" id=\"{0}_IconeDatePicker\" class=\"datePicker\">

{0} は ID パラメータです。

4

1 に答える 1

0

私は解決策を見つけました:

$(function () {
    $('.datePicker').each(function () {
        $(this).datepicker({
            dateFormat: "yy-mm-dd",
            showOn: "button",
            buttonImage: "/Content/images/calendrier.png",
            buttonImageOnly: true
        });
    });
});

APIのボタンオプションを使用するだけでした:)

于 2013-01-17T21:34:42.430 に答える