Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在我自己的自定义字段-velocity edit.vm中使用JIRA AUI函数_Javascript_Jquery_Velocity_Custom Fields_Jira Plugin - Fatal编程技术网

Javascript 如何在我自己的自定义字段-velocity edit.vm中使用JIRA AUI函数

Javascript 如何在我自己的自定义字段-velocity edit.vm中使用JIRA AUI函数,javascript,jquery,velocity,custom-fields,jira-plugin,Javascript,Jquery,Velocity,Custom Fields,Jira Plugin,我正在尝试在我自己用JAVA编写的自定义字段的JIRA-in编辑模式中使用一些AUI。 我找到了这个页面:将来我想用Auiselect2做一个例子 -这里写着,这只是实验性的,那么我应该采取哪些步骤来使用它?在下面的示例中,您可以看到,我试图添加此函数性,但它很简单,不起作用。我正在使用文档中提到的一个示例- edit.vm: $webResourceManager.requireResource("cz.firma.rozy:zakaznik") <form class="aui"&g

我正在尝试在我自己用JAVA编写的自定义字段的JIRA-in编辑模式中使用一些AUI。 我找到了这个页面:将来我想用Auiselect2做一个例子

-这里写着,这只是实验性的,那么我应该采取哪些步骤来使用它?在下面的示例中,您可以看到,我试图添加此函数性,但它很简单,不起作用。我正在使用文档中提到的一个示例-

edit.vm:

$webResourceManager.requireResource("cz.firma.rozy:zakaznik")

<form class="aui">
    <select id="select2-example" multiple>
        <option value="CONF">Confluence</option>
        <option value="JIRA">JIRA</option>
        <option value="BAM">Bamboo</option>
        <option value="JAG">JIRA Agile</option>
        <option value="CAP">JIRA Capture</option>
        <option value="AUI">AUI</option>
    </select>
</form>
我的atlassian-plugin.xml是:

<web-resource key="zakaznik-resources" name="zakaznik Web Resources">
    <dependency>com.atlassian.auiplugin:ajs</dependency>
    <dependency>com.atlassian.auiplugin:jquery</dependency>
    <dependency>com.atlassian.auiplugin:jquery-ui-other</dependency>
    <dependency>com.atlassian.auiplugin:aui-select2</dependency>
    <context>atl.general</context>
    <context>atl.admin</context>
    <resource type="download" name="zakaznik.css" location="/css/zakaznik.css"/>
    <resource type="download" name="zakaznik.js" location="/js/zakaznik.js"/>
    <resource type="download" name="images/" location="/images"/>
    <context>zakaznik</context>
  </web-resource>

...
  <customfield-type name="Pridani zakaznika" i18n-name-key="customer-add.name" key="customer-add" class="cz.firma.rozy.jira.customfields.CustomerCustomField">
    <description key="customer-add.description">Plugin, ktery prida zakaznika z abry</description>
    <resource name="view" type="velocity" location="templates/viewCustomer.vm"/>
    <resource name="edit" type="velocity" location="templates/edit.vm"/>
  </customfield-type>

com.atlassian.auiplugin:ajs
com.atlassian.auiplugin:jquery
auiplugin:jqueryui-other
com.atlassian.auiplugin:aui-select2
总纲
atl.admin
扎卡兹尼克
...
插件,ktery prida zakaznika z abry

但当我访问编辑模式时,不会执行jQuery,浏览器控制台也不会写入任何错误或警告

只需将这一行添加到edit.vm中,就会包含select2 js

$webResourceManager.requireResource("com.atlassian.auiplugin:aui-select2")
您不需要将其作为依赖项添加到web资源中

在js文件调用中,只需通过以下方式选择2-

AJS.$("#select2-example").select2();

您只需要在edit.vm中添加以下内容

$webResourceManager.requireResourcesForContext("zakaznik")

我不同意提供的其他答案。既然我们已经在资源文件中添加了js,为什么还要在edit.vm文件中再次添加呢。只需参考我们已经使用其上下文创建的web资源。

您需要通过
webResourceManager
加载aui资源。 无需更改
atlassian plugin.xml
。 您的customfields
.vm
文件可能如下所示:

#controlHeader ($action $customField.id $customField.name $fieldLayoutItem.required $displayParameters.noHeader)
$webResourceManager.requireResource("com.atlassian.auiplugin:aui-select2")

<script type="text/javascript">
    AJS.toInit(function() {
        AJS.$("#$customField.id").select2();
    });
</script>

<select name="$customField.id" id="$customField.id" multiple>

    #foreach ($option in $options)
        <option value="$option">$option</option>
    #end
</select>

#controlFooter ($action $fieldLayoutItem.fieldDescription $displayParameters.noHeader)
#controlHeader($action$customField.id$customField.name$fieldLayoutItem.required$displayParameters.noHeader)
$webResourceManager.requireResource(“com.atlassian.auiplugin:aui-select2”)
AJS.toInit(函数(){
AJS.$(“#$customField.id”)。选择2();
});
#foreach($期权中的期权)
美元期权
#结束
#controlFooter($action$fieldLayoutItem.fieldDescription$displayParameters.noHeader)
#controlHeader ($action $customField.id $customField.name $fieldLayoutItem.required $displayParameters.noHeader)
$webResourceManager.requireResource("com.atlassian.auiplugin:aui-select2")

<script type="text/javascript">
    AJS.toInit(function() {
        AJS.$("#$customField.id").select2();
    });
</script>

<select name="$customField.id" id="$customField.id" multiple>

    #foreach ($option in $options)
        <option value="$option">$option</option>
    #end
</select>

#controlFooter ($action $fieldLayoutItem.fieldDescription $displayParameters.noHeader)