質問

さて、私は不必要なコードを書くことなくこの問題を回避する方法を見つけようとして頭を叩いてきました。

保存時にエラーを引き起こしているVisualForceコードが次のとおりです。

<select id="rec_count">
    <apex:repeat value="{!pg}" var="selpg">
        <option {!IF(selpg.value = selectedpgtxt, 'selected','')} value="{!selpg.value}" >
              {!selpg.value}
        </option>
    </apex:repeat>
</select>

エラーは次のとおりです。エラー:要素タイプ「オプション」の後に、属性仕様、「>」または「/>」のいずれかに続く必要があります。

どうやらVisual Force Parserは、の属性がないオプションタグについて動揺しています {!IF(selpg.value = selectedpgtxt, 'selected','')}.

私は次のことを試しました:

<option selected="" value="1">1</option>
<option selected="selected" value="2">2</option>

ただし、ブラウザは、これを行う選択されたすべてのオプションを考慮します。

役に立ちましたか?

解決

これが不必要なコードと見なされない限り、以下は私にとって非常に簡単に思えます。

Visualforce:

<apex:selectList value="{!theSelection}">
   <apex:selectOptions value="{!theList}"/>
</apex:selectList>

頂点:

// Top of class
public List<SelectOption> theList {get; private set;}
public String theSelection {get; set;}


// In constructor
this.theList = new List<SelectOption>();
this.theList.add(new SelectOption('1', 'First Option'));
this.theList.add(new SelectOption('2', 'Second Option'));

// Now for the default
this.theSelection = '1';
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top