Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js 选择中使用主干集合的占位符_Backbone.js - Fatal编程技术网

Backbone.js 选择中使用主干集合的占位符

Backbone.js 选择中使用主干集合的占位符,backbone.js,Backbone.js,我有一个通过主干集合填充的选择框: class Prog.Views.History extends Backbone.View template: JST['backbone/templates/shapes/history'] tagName: "option" initialize: -> @model.bind('change:formatted', @render, this); render: -> $(@el).html(@temp

我有一个通过主干集合填充的选择框:

class Prog.Views.History extends Backbone.View

  template: JST['backbone/templates/shapes/history']
  tagName: "option"


  initialize: ->
    @model.bind('change:formatted', @render, this);

  render: ->
   $(@el).html(@template(history: @model))
   this
主干/模板/形状/历史

<option value="<%=history.get('origin')%>"><%=history.get('origin')%></option>

如何设置默认值?

首先,我认为此实现无法正常工作,我认为渲染的结果如下:

<option><option value="the_origin">the_origin</option></option>
这里不需要模板

关于包含“请选择”选项

将HTML中直接硬编码的“请选择”选项元素包含到select元素中

然后不要使用
this.$el.html()
来填充select,而是
this.$el.append()
,这将尊重实际的默认选项,并在其后面添加动态元素

更新 例如,如果选择元素如下所示:

<select id="history"></select>
<select id="history">
  <option value="0" selected="selected">Please select...</option>
</select>

让它看起来像这样:

<select id="history"></select>
<select id="history">
  <option value="0" selected="selected">Please select...</option>
</select>

请选择。。。

当您使用
append
添加动态选项元素时,占位符选项元素将保留。

您介意使用apped上添加的占位符更新您的示例吗?为此,我需要您使用呈现完整select元素并使用
Traveltime.Views.History
子视图以呈现选项元素。准备好后在此线程中发出信号。