2012-04-26 81 views
0

我正尝试使用Android上的手机差距访问移动联系人。 我访问的联系人&在下拉框中显示它们,然后用户应该选择所需的联系人,然后该联系人应该显示在文本框中。对象对象无法转换为字符串

现在,当我点击联系人列表中的某个联系人时,文本框的值将更改为[对象对象]。

我想:

JSON.stringify(data.value); 

,但它只是改变了[目标对象]为 “[对象对象]”。

我想:

data.value.tostring(); 

&

data.value.formatted; 

但随后的输出是不确定的。

这就是JS行我改变文本框的内容有:

 document.getElementById ("friendName").value = "/*Stringified data is written here*/; 

所以,你知道我怎么可以改变对象的对象,为普通可读的字符串?

+0

JSON的外观如何? – jbabey 2012-04-26 13:00:49

+0

这里是:$('#contacts')。append('

回答

2

如果您的“数据”对象的类型为Contact,那么您应该使用data.displayName或data.name.formatted,如果您想要联系人姓名。

+0

我会试试看,谢谢。 – 2012-04-28 14:02:02

+0

但是当我写: selectedArray [count] = selContacts.options [i] .name.formatted; 它无法识别格式化的单词,你知道该行的语法应该如何写吗? – 2012-04-30 11:03:21

+1

我需要看到更多的代码才能毫无把握地回答。你是如何获得联系人数组的?你的查找方法是什么样的,你的成功回调是什么样的。 – 2012-04-30 15:13:25

1

看起来你正在使用的联系人对象没有toString()实现;默认的JavaScript toString()会给你你得到的结果。您将不得不编写一个函数来拉取所需的成员值并创建一个字符串。或者,您可以添加toString(),但我不认为这是最好的选择,因为Contact对象似乎来自第三方Cordova,正如@Simon MacDonald的回答中所标识的。