更改If - Else函数以返回多个值?

时间:2013-02-20 23:01:29

标签: javascript function if-statement

因此,下面的JavaScript代码就是我用来从我们的自动营销软件Eloqua中提取数据的代码。这适用于单选下拉菜单。我想要它做的是多选下拉。

我知道ProductValue变量有效。因此,我说我肯定它是if(ProductValue == ProductList [i] .value)特别是“.value”,因为这是在下拉列表中调用值on。有没有办法让这个倍数?这让我疯了好几天。

function CustomerInformation()

{

var ProductValue = "<span class=eloquaemail>MarketingCustomerInformation1</span>"; //Field Merge...Field merge is working
var ProductList = document.getElementById('C_Marketing_Customer_Information1').options; //Calling the contact record field

for(var i=0; i< ProductList.length; i++) 
    {       
        if(ProductValue == ProductList[i].value) 
            {
                document.getElementById('C_Marketing_Customer_Information1').value = ProductValue;
                break;
            }
        else 
            {
                document.getElementById('C_Marketing_Customer_Information1').value = "Select";
            }
    }   
}

1 个答案:

答案 0 :(得分:0)

你可以使用多个for循环:

var ProductValue = "<span class=eloquaemail>MarketingCustomerInformation1</span>"; //Field Merge...Field merge is working
var ProductList = document.getElementById('C_Marketing_Customer_Information1').options; //Calling the contact record field

for(var i=0; i< ProductList.length; i++) 
{      
    for(var j=0;j<ProductValue.length;j++)
    {
        if(ProductValue[j] == ProductList[i].value) 
        {
          document.getElementById('C_Marketing_Customer_Information1').option[i].selected="selected";
        }
    }
}

还可以添加布尔值var,以便在未选择任何内容时选择默认值。

BASIC IDEA

  • 第一个循环将遍历多选列表中的所有值。
  • 第二个循环将遍历您传递的所有值(意味着ProductValue需要是您想要选择的所有值的数组)。
  • 如果第一个数组(ProductList [i])中的当前项等于(==)第二个数组中的当前项(ProductValue [j])那么您将选项标记为已选中。

满足您JS需求的一些有用工具:

  • 谷歌
  • W3Schools.com
  • Firebug(Firefox插件,虽然大多数浏览器都有与F12相关的东西,可以提供帮助,使用它来查看变量并逐步完成这些功能)