未通过jQuery / CoffeeScript设置所选值

时间:2014-06-11 18:41:42

标签: javascript jquery coffeescript

  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访问器访问我们的一些元素。

知道我做错了吗?

1 个答案:

答案 0 :(得分:1)

我相信你想使用.prop而不是.attr。例如,selected是选择框的属性,而不是属性。所以它在语义上是正确的,并且表现也更好。