1

我通过ajax请求加载了magicSuggest控件值,它填充得很好,但是当我尝试使用getRawValue从div中获取用户键入的文本时,它总是返回空白。虽然当我使用getValue ()时它返回有效值,但我也需要文本。调试后发现“ ms.input.val() ”始终设置为默认文本,即使在触发选择更改后也是如此。我也尝试使用getSelectedItems(),一旦他返回对象,尝试使用对象属性来检索值,例如:object.fullname,其中 fullname 是我的 displayField,但它无法给出身份不明的问题也在 Github 上发布

4

2 回答 2

1

根据我的发现,getRawValue 仅在文本成为“选定项目”之前适用于文本。因此,如果您尝试只输入一个字符串,而不允许它选择实际项目,然后调用 getRawValue,它应该会返回一些信息。

我会建议你在第二部分中所说的,使用 getSelectedValues() - 然后从对象中读取你的显示字段。我在我目前正在从事的项目中做了类似的事情,你能分享你的代码吗?

于 2013-06-21T16:01:09.967 回答
1

您快到了。正如克里斯所说,getRawValue 从用户当前正在输入的输入框中获取文本。如果要从选择中获取文本,则需要通过 getSelectedItems 方法,然后从对象中提取 name 属性。

例如,如果您的文本属性是名称:

$('#ms1').magicSuggest().getSelectedItems().map(function(a){return a.name;})

将返回 ["selected1", "selected2", ...]

干杯

于 2013-08-19T14:55:44.933 回答