繁体   English   中英

在页面加载的下拉列表上将动态值设置为默认值

[英]Set a dynamic value as default on a dropdown list on pageload

我有一个页面加载的每个用户都不同的值,为了获得该值,我在Salesforce中运行时使用了visualforce标记。 我只有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

提前致谢!

也许有更好的方法,但是您可能想尝试一下:

<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是“ Product 2”,所以将“ Product 1”设置为OtherProduct

当然,如果您需要两个以上的选择选项,此方法将变得更加复杂。

希望有帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM