首页 > 解决方案 > 组合框选中的项目显示为 [object, Object] 而不是字符串值

问题描述

我有以下代码用于组合框中的清单:

<sq8:ComboBox runat="server" ID="ComboBox1" CheckBoxes="True" CheckedItemsTexts="DisplayAllInInput" Width="340px" OnClientItemChecked="ShowAlert"><Items>
      <sq8:ComboBoxItem runat="server" Value="Yes" Text="Yes"></sq8:ComboBoxItem>
      <sq8:ComboBoxItem runat="server" Value="No" Text="No"></sq8:ComboBoxItem>
      <sq8:ComboBoxItem runat="server" Value="Maybe" Text="Maybe"></sq8:ComboBoxItem>
      </Items>
    </sq8:ComboBox>
    <sq:BindableControl runat="server" TargetControlID="ComboBox1" DataField="ComboBox1"></sq:BindableControl>

在警报中,我有以下简单的 JavaScript 来获取已检查的项目:

<script type="text/javascript">

function ShowAlert() {

var combobox = $findByControlId("ComboBox1").get_checkedItems();


alert(combobox);


}

</script>

我将该函数添加到 ComboBox 上的 OnClientItemChecked 属性中,但是当我对此进行测试时,警报将值显示为:

[object Object]

我尝试在警报末尾添加“.ToString”:

alert(combobox.ToString);

这然后将检查项目显示为“未定义”而不是“[object Object]”

我有点失落。有人可以帮忙吗?我的数据模型中 ComboBox 的数据类型是字符串。应该是别的吗?

谢谢!

标签: javascriptasp.netcomboboxcheckedlistbox

解决方案


试试: var combobox = $findByControlId("ComboBox1").get_checkedItems().get_text());


推荐阅读