无法在速度模板中使用jquery控件datetimepicker(JIRA自定义字段插件)

时间:2013-06-27 06:43:09

标签: jquery jquery-ui jira velocity jira-plugin

我正在创建一个JIRA自定义字段插件,并希望在下面的链接中使用下面的'datetime picker'控件作为'monthyear picker'。         http://jquerybyexample.blogspot.com/2012/06/show-only-month-and-year-in-jquery-ui.html

JIRA版本为'5.2.11'

JQUERY控制速度模板中的STUFF:

<script type="text/javascript">
    alert("Handler for .click() called.");  //get alert
    AJS.$("#target").click(function() {      //get alert while click on below "target" div.
        alert("Handler for .click() called.");
    });
    AJS.$(document).ready(function () {       
        AJS.$('#txtDate').datepicker({     //shows javascript error as"[object Object] has no    method 'datepicker' "              
            changeMonth: true,
            changeYear: true,
            dateFormat: 'MM yy',
            onClose: function () {
                var iMonth = AJS.$("#ui-datepicker-div .ui-datepicker-month :selected").val();
                var iYear = AJS.$("#ui-datepicker-div .ui-datepicker-year :selected").val();
                AJS.$(this).datepicker('setDate', new Date(iYear, iMonth, 1));
            },
            beforeShow: function () {
                if ((selDate = AJS.$(this).val()).length > 0) {
                    iYear = selDate.substring(selDate.length - 4, selDate.length);
                    iMonth = jQuery.inArray(selDate.substring(0, selDate.length - 5), AJS.$(this).datepicker('option', 'monthNames'));
                    AJS.$(this).datepicker('option', 'defaultDate', new Date(iYear, iMonth, 1));
                    AJS.$(this).datepicker('setDate', new Date(iYear, iMonth, 1));
                }
            }
        }); 
    });
    alert('final');  // not alert as error at above code
</script> 

javascript错误如下所示:

  

“TypeError:Object [object Object]没有方法'datepicker'[http://localhost:2990/jira/s/en_US1rk3us/787/3/1/_/download/superbatch/js/batch.js:9919

任何想法,我如何将此控件用于自定义字段 - 速度模板并开始工作?

1 个答案:

答案 0 :(得分:0)

尝试编辑文件system-webresources-plugin.xml(应位于/ atlassian-jira / WEB-INF / classes /),并将此代码添加到<web-resource key="jira-fields">

<resource type="download" name="jquery.min.js" location="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">
    <param name="source" value="webContextStatic"/>
</resource>
<resource type="download" name="jquery-ui.min.js" location="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js">
    <param name="source" value="webContextStatic"/>
</resource>

不要使用AJS.$ - 这是Jira的内部jQuery。使用它将阻止jQuery ui工作。尝试直接使用jQuery:

$(document).ready(function () {       
     $('#txtDate').datepicker({
          .....

依旧......