Javascript rails select box selected选项是如何从coffee文件中给出的

Javascript rails select box selected选项是如何从coffee文件中给出的,javascript,jquery,ruby-on-rails-4,coffeescript,Javascript,Jquery,Ruby On Rails 4,Coffeescript,在ajax成功后的js.coffee文件中,我需要将值放在一个选择框中,选择一个特定的名称 _form.html,erb: items.js.coffee: 现在,用户全名列在选择框中,但是我如何给出显示特定用户名的所选选项呢 谢谢已设置所选选项 假设要选择的用户id存储在JavaScript中的selectedUserId变量中,那么以下代码应该可以工作: success: (data) -> userSelectBox = $('#prod_user_id') userSele

在ajax成功后的js.coffee文件中,我需要将值放在一个选择框中,选择一个特定的名称

_form.html,erb:

items.js.coffee:

现在,用户全名列在选择框中,但是我如何给出显示特定用户名的所选选项呢


谢谢

已设置所选选项

假设要选择的用户id存储在JavaScript中的selectedUserId变量中,那么以下代码应该可以工作:

success: (data) ->
  userSelectBox = $('#prod_user_id')
  userSelectBox.html('')
  if data.length == 0
    userSelectBox.append($('<option>').text('').attr('value', ''))
  else
    $.each data, (index, el) ->
      option = $('<option>')
        .text(el.firstname + ' ' + el.lastname)
        .attr('value', el.id)
      if el.id == selectedUserId
         option.attr 'selected', 'selected'
      userSelectBox.append option

有关使用jQuery设置所选属性的更多详细信息,请参阅。

只是为了澄清-您希望预选哪个特定选项?如果您的JS代码中已经知道该选项,请参见下面的答案。如果所选用户的id预期通过AJAX传递,则可以根据传递方式轻松修改以下代码。
$.ajax '/users.json',   
type: 'GET', data: {"from_prod_bu" : selecteditemId},
success: (data) ->
  userSelectBox = $('#prod_user_id')
  userSelectBox.html('')
  if data.length == 0
    userSelectBox.append($('<option>').text('').attr('value', ''))
  else
    $.each data, (index,el) ->
      userSelectBox.append($('<option>').text(el.firstname+' '+el.lastname).attr('value', el.id))
success: (data) ->
  userSelectBox = $('#prod_user_id')
  userSelectBox.html('')
  if data.length == 0
    userSelectBox.append($('<option>').text('').attr('value', ''))
  else
    $.each data, (index, el) ->
      option = $('<option>')
        .text(el.firstname + ' ' + el.lastname)
        .attr('value', el.id)
      if el.id == selectedUserId
         option.attr 'selected', 'selected'
      userSelectBox.append option