if addr.types[0] is "country"
console.log addr.long_name.trim().toUpperCase()
$("#user_country_id").each ->
console.log $(this).text().trim() if $(this).text().trim().toUpperCase() is addr.long_name.trim().toUpperCase()
$(this).attr "selected", "selected" if $(this).text().trim().toUpperCase() is addr.long_name.trim().toUpperCase()
return
代码通过Google商家信息对象并检查地址组件是否为“国家/地区”,然后我想要做的是更新国家/地区选择框,如果TEXT与Google返回的内容匹配。
它不起作用 - 只是控制台记录addr.long_name工作,只记录$(this).text()工作(当然我得到了整个国家列表......),据我所知匹配。
这是代码的当前状态。我已经清楚地尝试了trim()和toUpperCase(),可能认为那里存在某种不匹配 - 但没有任何改变。
这是用CoffeeScript编写的,我们只是使用典型的jQuery访问器访问我们的一些元素。
知道我做错了吗?
答案 0 :(得分:1)
我相信你想使用.prop而不是.attr。例如,selected是选择框的属性,而不是属性。所以它在语义上是正确的,并且表现也更好。