通过自定义字段描述(javascript)添加控件所面临的问题

时间:2013-06-25 12:13:37

标签: jira custom-fields jira-plugin

以下是字段描述中包含的内容,因此,我可以显示摘要行。

  <script type="text/javascript">
   var table = AJS.$('<table style="margin-left: 130px;">').append(
                            AJS.$('<tr>').append(
"<td  style='border: 0px; width: 90px; margin-left: 1px; font-weight: bold; background-color:  rgb(204, 255, 255);'><div id='customfield_summary_2:input1'>0</div></td>"
                                                ).append(
            "<td  style='border: 0px; width: 90px; margin-left: 1px; font-weight: bold;   background-color: rgb(204, 255, 255);'><div id='customfield_summary_2:input2'>0</div></td>"
                                                        )
                                 );
if(AJS.$("#edit-issue-dialog").length)
{        
    AJS.$("#customfield_11278\\:input1").parent().parent().parent().parent().parent().before(table);
}
else
{
 AJS.$("#customfield_11278\\:input1").parent().parent().parent().parent().before(table);
}
</script>

  <script type="text/javascript">
   AJS.$("#customfield_summary_2\\:input1").text(
"$" + (
    parseInt(AJS.$
                 ("#customfield_11278\\:input1").val()
            ) + 
    parseInt(AJS.$
                 ("#customfield_11279\\:input1").val()
            ) +
    parseInt(AJS.$
                 ("#customfield_11280\\:input1").val()
            )+
    parseInt(AJS.$
                 ("#customfield_11281\\:input1").val()
            )+
    parseInt(AJS.$
                 ("#customfield_11282\\:input1").val()
            )+
    parseInt(AJS.$
                 ("#customfield_11283\\:input1").val()
            )+
    parseInt(AJS.$
                 ("#customfield_11284\\:input1").val()
            )+
    parseInt(AJS.$
                 ("#customfield_11285\\:input1").val()
            )
    ).toString()
     );
 </script>
几个问题: 1.关闭编辑屏幕时,获取重复的摘要行(通过jquery添加的字段)。它应该如何解决。 2.此摘要自定义字段显示在查看屏幕和编辑屏幕上。现在,在视图屏幕中,当我对其他字段进行内联编辑并保存时,此摘要自定义字段(通过客户端javascript显示)消失,需要刷新屏幕然后在它出现并且值更新后。

请告知我上述问题。 谢谢

1 个答案:

答案 0 :(得分:0)

在评论How to develop custom field (plugin) having multiple input fields中按照@Kuf找到解决方案。

  1. 删除重复 - 每次都有 - 在追加之前删除表并保存在setInterval中以解决问题。

    的setInterval(函数()

    如果(AJS。$( “#编辑问题 - 对话”)。长度) {
    AJS $( “#customfield_11278 \:输入1”)父()父()父()父()父()前(表)。。。。。 } 其他 {  AJS $( “#customfield_11278 \:输入1”)父()父()父()父()前(表)。。。。 },2000)

  2. 刷新内联编辑: ave使用setInterval如下:

    setInterval(function(){

    AJS $。( “#customfield_summary_2 \:输入1”)文本(  “$”+(  parseInt函数(AJS。$              ( “#customfield_11278 \:输入1”)。VAL()         )+  parseInt函数(AJS。$              ( “#customfield_11279 \:输入1”)。VAL()         )+  parseInt函数(AJS。$              ( “#customfield_11280 \:输入1”)。VAL()         )+  parseInt函数(AJS。$              ( “#customfield_11281 \:输入1”)。VAL()         )+  parseInt函数(AJS。$              ( “#customfield_11282 \:输入1”)。VAL()         )+  parseInt函数(AJS。$              ( “#customfield_11283 \:输入1”)。VAL()         )+  parseInt函数(AJS。$              ( “#customfield_11284 \:输入1”)。VAL()         )+  parseInt函数(AJS。$               ( “#customfield_11285 \:输入1”)。VAL()         )  )的ToString()  );;,2000);

  3. 由于