0

我正在使用 jQuery UI Datepicker,但是当有人单击日历图标时,它会“提交”表单,这不是想要的行为。

我可以通过控制我的日历图标(绑定到 jQuery UI CSS 样式日历的那个)的 click 属性来取消它:

$('.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 回答