0

我有一个页面,它为每个用户加载不同的值,为了获得这个值,我使用了一个 visualforce 标签,因为它在 Salesforce 中运行。我只有 2 个选项,我让用户可以选择一个选项,但我已经知道该选项的值对于打开页面的用户来说是什么,所以我想预先选择该值并为他们提供更改它的选项。

我目前正在这样做,问题是这两次创建了相同的选项,看起来不太好,但它预先选择了正确的值,问题是

如何在不创建两次相同选项的情况下预先选择正确的值?

 <select id="product" name="liveagent.prechat:Product" style="width:220px" tabindex="5">

                    <option selected="selected">{!$User.Product__c}</option>
                    <option value="Product 1">Product 1</option>
                    <option value="Product 2">Product 2</option>

 </select>

//请记住 {!$User.Product__c} 可以是产品 1 或产品 2

提前致谢!

4

1 回答 1

0

可能有更好的方法,但您可能想试试这个:

<apex:variable var="SelectedProduct" value="{!IF($User.Product__c=='Product 1','Product 1','Product 2')}" />
<apex:variable var="OtherProduct" value="{!IF($User.Product__c=='Product 2','Product 1','Product 2')}" />

<select id="product" name="liveagent.prechat:Product" style="width:220px" tabindex="5">
    <option value="{!SelectedProduct}" selected="selected" >{!SelectedProduct}</option>
    <option value="{!OtherProduct}" >{!OtherProduct}</option>
</select>

以下是对逻辑的一般解释:

  • 如果User.Product__c是“产品 1”,则将“产品 1”设置为SelectedProduct. 因为User.Product__c不是“产品 2”,所以将“产品 2”设置为OtherProduct.
  • 如果User.Product__c不是“产品 1”,则将“产品 2”设置为SelectedProduct. 因为User.Product__c是“产品 2”,所以将“产品 1”设置为OtherProduct.

当然,如果你需要两个以上的选择选项,这个方法就会变得复杂很多。

希望有帮助!

于 2012-05-16T19:30:28.383 回答