製品を選択するユーザーに応じて作成される次の xsl パネルがあります。ユーザーは最大 99 個を選択でき、以下のコードの正確な 99 個のパネルが生成されます。ドロップダウンから「その他」が選択されたときに入力フィールドを操作 (表示/非表示) する jQuery コードがあります。
基本的に、JavaScript で xsl ID を取得しようとしているので、それに応じてインクリメントされる ID にコードを適用できます。
どんな助けでも大歓迎です。エラーは、javacript の不正な引数に関連しています。
<xsl:attribute name="id">panel22_<xsl:value-of select="@id"/></xsl:attribute>
<table border="0" width="100%" height="100%" bgcolor="lightyellow" class="inline"
<script type="text/javascript">
var one = document.getElementById('<xsl:value-of select="@id"/>')
$('#producttypes' + '_' + one).change(function()
{
if($('#otherprodtype').is(':selected'))
{
$('#myotherbox').show();
}
else
{
if($('#myotherbox').is(':visible'))
{
$('#myotherbox').hide();
}
}
});;
</script>
<tr>
<td class="Label">Product Type</td>
<td class="field">
<select name="producttypes" id="producttypes_<xsl:value-of select="@id"/>">
<option value="domguar">
<xsl:if test="producttypes/option[@id='domguar']='selected'">
<xsl:attribute name="selected"/>
</xsl:if>Domestic Guarantee</option>
<option value="indemnity">
<xsl:if test="producttypes/option[@id='indemnity']='selected'">
<xsl:attribute name="selected"/>
</xsl:if>Indemnity</option>
<option value="domcontbond">
<xsl:if test="producttypes/option[@id='domcontbond']='selected'">
<xsl:attribute name="selected"/>
</xsl:if>Domestic Contract Bond</option>
<option value="perfbond">
<xsl:if test="producttypes/option[@id='perfbond']='selected'">
<xsl:attribute name="selected"/>
</xsl:if>Performance Bond</option>
<option value="interventionguar">
<xsl:if test="producttypes/option[@id='interventionguar']='selected'">
<xsl:attribute name="selected"/>
</xsl:if>Intervention Guarantee</option>
<option value="customsguar">
<xsl:if test="producttypes/option[@id='customsguar']='selected'">
<xsl:attribute name="selected"/>
</xsl:if>Customs Guarantee</option>
<option value="vatbond">
<xsl:if test="producttypes/option[@id='vatbond']='selected'">
<xsl:attribute name="selected"/>
</xsl:if>VAT Bond</option>
<option value="otherprodtype" id="otherprodtype_<xsl:value-of select="@id"/>">
<xsl:if test="producttypes/option[@id='otherprodtype']='selected'">
<xsl:attribute name="selected"/>
</xsl:if>Other</option>
</select>
<td class="field" id="myotherbox_<xsl:value-of select="@id"/>" style="display:none;">
<input class="amdInputText" type="text" id="otherprodtypebox" value="" style="display:none;">
<xsl:attribute name="value"><xsl:value-of select="otherprodtypebox"></xsl:value-of></xsl:attribute></input>
</td>
</td>
</tr>