Jira 如何开发具有多个输入字段的自定义字段(插件)

Jira 如何开发具有多个输入字段的自定义字段(插件),jira,jira-plugin,Jira,Jira Plugin,在自定义字段插件开发中,我们创建一个自定义字段,如下所示(具有多个输入字段): CutomFieldName: 我按照教程创建插件 下面,我更新了edit.vm如下,增加了两个文本输入,但它不起作用。。。只是出现额外的文本框。。。(我不确定其他变更需要什么) #customControlHeader($action$customField.id$customField.name$fieldLayoutItem.required$displayParameters$AuiParms) #custo

在自定义字段插件开发中,我们创建一个自定义字段,如下所示(具有多个输入字段):

CutomFieldName:

我按照教程创建插件

下面,我更新了
edit.vm
如下,增加了两个文本输入,但它不起作用。。。只是出现额外的文本框。。。(我不确定其他变更需要什么)

#customControlHeader($action$customField.id$customField.name$fieldLayoutItem.required$displayParameters$AuiParms)
#customControlFooter($action$customField.id$fieldLayoutItem.fieldDescription$displayParameters$AuiParms)

任何人都可以建议我如何更新此字段,以在customfield中实现附加字段,并保留不同的值并获得它们的总数。

另一种方法是在客户端生成字段。您可以向中添加代码,以添加所需的表单字段。例如,要添加2个简单输入,请使用以下脚本:

<script type="text/javascript">
    var table = AJS.$('<table>').append(
            AJS.$('<tr>').append(
                AJS.$('<td>',{text:'first'})
            ).append(
                AJS.$('<td>',{class:'myinput'}).html(AJS.$('<input>'))
            )
        ).append(
            AJS.$('<tr>').append(
                AJS.$('<td>',{text:'second'})
            ).append(
                AJS.$('<td>',{class:'myinput'}).html(AJS.$('<input>'))
            )
        );
    AJS.$("input#customfield_10001").before(table)
</script>
最后,收集每次变更的最新信息:

AJS.$(".myinput").on('input',function(){ 
    collect_data();
});
如果您决定使用此选项,请更新所有字段ID,根据需要修改输入字段,并添加更改表单创建代码,以便用您选择的值填充输入


如果您需要更多信息,请告诉我。

另一种方法是在客户端生成字段。您可以向中添加代码,以添加所需的表单字段。例如,要添加2个简单输入,请使用以下脚本:

<script type="text/javascript">
    var table = AJS.$('<table>').append(
            AJS.$('<tr>').append(
                AJS.$('<td>',{text:'first'})
            ).append(
                AJS.$('<td>',{class:'myinput'}).html(AJS.$('<input>'))
            )
        ).append(
            AJS.$('<tr>').append(
                AJS.$('<td>',{text:'second'})
            ).append(
                AJS.$('<td>',{class:'myinput'}).html(AJS.$('<input>'))
            )
        );
    AJS.$("input#customfield_10001").before(table)
</script>
最后,收集每次变更的最新信息:

AJS.$(".myinput").on('input',function(){ 
    collect_data();
});
如果您决定使用此选项,请更新所有字段ID,根据需要修改输入字段,并添加更改表单创建代码,以便用您选择的值填充输入


如果您需要更多信息,请告诉我。

的第3章提供了一个在JIRA自定义字段中存储多个值的工作示例。本示例的源代码可在的第3章下载,其中有一个在JIRA自定义字段中存储多个值的工作示例。示例的源代码可在

下载,我们是否也可以进行求和(合计)和显示?示例:我已经将-text inpu1 text inpu2、text inpu3放在一行和第二行中,再次放在三行中,现在,在第三行中,我需要将前两行的输入相加。如何获得最后一行这样的结果或摘要字段。当然可以,读取值,例如
var x=parseInt(AJS.$(“.myinput”),求和并将其值插入所需的位置。谢谢@kuf。您还可以在另一个相关查询中查看必须创建级联月份-年份选择器自定义字段的位置:谢谢。我添加了摘要自定义字段,该字段也出现在查看屏幕上。现在,当我对其他字段进行内联编辑并保存时,这个摘要自定义字段(通过客户端javascript显示为我们的讨论注释)就会消失,需要在它出现并更新值之后刷新屏幕。您可以建议我如何解决它,以及如何确保添加的javascript对象不存在,然后只添加其他方面的内容,它可能是重复的摘要行。谢谢。在这里,控件在问题视图屏幕上进行内联编辑后消失。(看起来是由于ajax的内联编辑,我们的javascript在重新加载页面之前不会加载……但不明白,如何解析并保留通过javascript添加的自定义字段)?我们也可以进行求和(合计)和显示吗?示例:我已经将-text inpu1 text inpu2、text inpu3放在一行和第二行中,再次放在三行中,现在,在第三行中,我需要将前两行的输入相加。如何获得最后一行这样的结果或摘要字段。当然可以,读取值,例如
var x=parseInt(AJS.$(“.myinput”),求和并将其值插入所需的位置。谢谢@kuf。您还可以在另一个相关查询中查看必须创建级联月份-年份选择器自定义字段的位置:谢谢。我添加了摘要自定义字段,该字段也出现在查看屏幕上。现在,当我对其他字段进行内联编辑并保存时,这个摘要自定义字段(通过客户端javascript显示为我们的讨论注释)就会消失,需要在它出现并更新值之后刷新屏幕。您可以建议我如何解决它,以及如何确保添加的javascript对象不存在,然后只添加其他方面的内容,它可能是重复的摘要行。谢谢。在这里,控件在问题视图屏幕上进行内联编辑后消失。(看起来是由于ajax的内联编辑,我们的javascript在重新加载页面之前不会加载……但不明白,如何解析并保留通过javascript添加的自定义字段)?感谢本教程链接,它真的很有帮助。在此多值示例中,扩展类型为
AbstractCustomFieldType
。我已经在view.vm和“edit.vm”文件中添加了“”列表以及“carrier”对象中的相关属性,作为
Collection selectedOption
的一种类型,但我无法在
validateFromParams(…)
getValueFromCustomFieldParams(…)
方法中将所选值(从选择/选取器列表)获取到java文件中。我们如何在“多值”中的“对齐到输入”文本框中添加其他选择列表。。?基本上,我只是想在多值教程中添加一个下拉列表/选择选择器列表对齐到输入文本框,因为这里需要这样做。请告诉我这件事。非常感谢。请查看面临问题的详细信息-感谢此教程链接,它真的很有帮助。在此多值示例中,扩展类型为
AbstractCustomFieldType
。我还将“”列表添加到view.vm和“edit.vm”文件中,并将相关属性作为
集合的一种类型添加到“carrier”对象中