私はxslファイルを使用しています。これはフォームフィールドの作成に使用されます。オプション値が選択した値と同じかどうかを確認し、そのオプションフィールドに選択した属性を追加する必要があります。これは、オプションを作成するためのコードです(すべてがここで働いている、とのオプションが動的に作成されます):これはデータ値追加部分ですXSL - 属性が選択した値と等しいかどうかを確認します。
<xsl:when test="@type='select'">
<xsl:attribute name="title">Select List</xsl:attribute>
<xsl:apply-templates select=".">
<xsl:with-param name="field_id" select="$field_id" />
<xsl:with-param name="field_type" select="@type" />
<xsl:with-param name="isEditing" select="$isEditing" />
</xsl:apply-templates>
<xsl:element name="div">
<xsl:attribute name="id"><xsl:value-of select="$field_id" /></xsl:attribute>
<xsl:attribute name="type">select</xsl:attribute>
<xsl:attribute name="class">field ui-select</xsl:attribute>
<xsl:element name="select">
<xsl:attribute name="name"><xsl:value-of select="$field_id" /></xsl:attribute>
<xsl:attribute name="id"><xsl:value-of select="$field_id" /></xsl:attribute>
<xsl:attribute name="data-native-menu">false</xsl:attribute>
<xsl:attribute name="size">1</xsl:attribute>
<xsl:attribute name="required">
<xsl:choose>
<xsl:when test="@required='required'">required</xsl:when>
<xsl:otherwise>false</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:attribute name="onchange">CustomJS.manageDropdownSelect(this)</xsl:attribute>
<xsl:attribute name="data-value">
<xsl:choose>
<xsl:when test="@data-value!=''">
<xsl:value-of select="@data-value" /></xsl:when>
</xsl:choose>
</xsl:attribute>
<xsl:for-each select="./options/option">
<xsl:element name="option">
<xsl:attribute name="value">
<xsl:value-of select="." />
</xsl:attribute>
<xsl:value-of select="." />
<xsl:if test="@data-value='@value'">
<xsl:attribute name="selected">selected</xsl:attribute>
</xsl:if>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:element>
<!-- field data -->
<xsl:element name="input">
<xsl:attribute name="id">field_id</xsl:attribute>
<xsl:attribute name="type">hidden</xsl:attribute>
<xsl:attribute name="class">fielddata</xsl:attribute>
<xsl:attribute name="value"><xsl:value-of select="concat($field_id,':',@type)" /></xsl:attribute>
</xsl:element>
</xsl:when>
:
<xsl:attribute name="data-value">
<xsl:choose>
<xsl:when test="@data-value!=''">
<xsl:value-of select="@data-value" /></xsl:when>
</xsl:choose>
</xsl:attribute>
をそして、これはあります
このセクションを選択値と接続する方法を理解する必要があります:
<xsl:if test="@data-value='@value'">
<xsl:attribute name="selected">selected</xsl:attribute>
</xsl:if>
EDIT私が取得XMLコードの
例:
<field type="select" name="" id="select_0" data-value="List 14" required="false">
<options>
<option>List 1</option>
<option>List 12</option>
<option>List 13</option>
<option>List 14</option>
<option>List 12</option>
<option>List 125</option>
</options>
</field>
確認するには...'
すべてのオプションは問題なく作成され、selectは選択したオプションに基づいて適切にデータ値を取得しています。 – Sasha