最初,表格只有一个tr
(标签/标题),然后单击add
按钮单击,我创建新tr
的,如下所示。和所有其他后果点击add
将克隆最后一个tr
。
<tr>
<script type="text/javascript">
//fetch the value of select picker control and set into hidden field.
AJS.$('#' + '${field_uid}-resourcetypepicker-new1').change(function () {
AJS.$('#' + '${field_uid}-resourcetype-new1').val(AJS.$(this).attr('value'));
});
//fetch the value of select picker control and set into hidden field.
AJS.$('#' + '${field_uid}-locationpicker-new1').change(function () {
console.log(AJS.$(this).attr('value'));
AJS.$('#' + '${field_uid}-location-new1').val(AJS.$(this).attr('value'));
});
</script>
<td>
<input id="${field_uid}-resourcetype-new1"
name="${field_uid}"
type="hidden"
value="$r.getResourceType()" />
<select id="${field_uid}-resourcetypepicker-new1">
<option value="adad" #if ($r.getResourceType() == "adad") selected="selected"#end >adad</option>
<option value="dada" #if ($r.getResourceType() == "dada") selected="selected"#end >dada</option>
<option value="aadd" #if ($r.getResourceType() == "aadd") selected="selected"#end >aadd</option>
</select>
</td>
<td>
<input id="${field_uid}-location-new1"
name="${field_uid}"
type="hidden"
value="$r.getLocation()" />
<select id="${field_uid}-locationpicker-new1">
<option value="Internal(Local)" #if ($r.getLocation() == "Internal(Local)") selected="selected"#end >Internal(Local)</option>
<option value="Contractor(Local)" #if ($r.getLocation() == "Contractor(Local)") selected="selected"#end >Contractor(Local)</option>
<option value="Contractor(Offshore)" #if ($r.getLocation() == "Contractor(Offshore)") selected="selected"#end >Contractor(Offshore)</option>
</select>
</td>
<td>
<input id="${field_uid}-rate-new1"
name="${field_uid}"
type="text"
value="$r.getRate()" /> <!-- $textutils.htmlEncode($r.getRate()) -->
</td>
<td>
<input id="${field_uid}-effort-new1"
name="${field_uid}"
type="text"
value="$r.getEffort()" />
</td>
</tr>
问题:在上述内容中,指向特定控件 ID 的现有 javascript'#' + '${field_uid}-resourcetypepicker-new1'
表示(渲染 ID 看起来像customfield-id-111-new1
)。现在,问题是,每个克隆行都有不同的唯一 ID 用于select/picker list
控制。并且此 javascript 将仅指向第一行控件作为AJS.$('customfield-id-111-new1')
. 但它应该是AJS.$('customfield-id-111-new2')
下一行AJS.$('customfield-id-111-new3')
。
那么,在 jquery 内容下方编写可以指向每个克隆控件而不是仅指向第一行控件的最佳方法是什么?通过tr
参考控制或任何其他方式的任何方式。
AJS.$('#' + '${field_uid}-resourcetypepicker-new1').change(function () {
AJS.$('#' + '${field_uid}-resourcetype- new1').val(AJS.$(this).attr('value'));
});
另外,在克隆行中,它不包含这个 javascript,我需要在克隆之后附加吗?
如果需要更多详细信息,请告诉我。
注意:AJS.$
等于$
。它用于 JIRA 中的速度模板文件。
谢谢你