Javascript 编写angularjs指令,通过查找所选选项初始化选择框的模型

Javascript 编写angularjs指令,通过查找所选选项初始化选择框的模型,javascript,angularjs,angularjs-directive,zpt,Javascript,Angularjs,Angularjs Directive,Zpt,我有一个服务器端templateZPT,在其中,我将选择框填充为: <select id="state"> <option value="">----</option> <option tal:repeat="state states" tal:attributes="value state/code" tal:content="state/desc"></option> </select> 然后将指令应用于我的标

我有一个服务器端templateZPT,在其中,我将选择框填充为:

<select id="state">
  <option value="">----</option>
  <option tal:repeat="state states" tal:attributes="value state/code" tal:content="state/desc"></option>
</select>
然后将指令应用于我的标记,如下所示:

<select id="state" ng-model="state" init-model-from-server>
  <option value="">----</option>
  <option tal:repeat="state states" tal:attributes="value state/code" tal:content="state/desc"></option>
</select>
问题是当我执行elm[0]时。selectedIndex当我找到select标记时,它总是设置为0。我尝试过其他方法,通过查找select的子项和在选项上查找select属性,但未能实现相同的功能

我不想从服务器端模板发送一个json对象并将其分配给角度变量,因为这样会有更多的数据传递给客户端。我更希望有一个指令,它可以直接使用link方法中的DOM操作对服务器呈现的所有种类的HTML标记初始化模型


提前谢谢

什么是塔尔:重复?这是用JavaScript呈现的吗?如果是这样,那么您的指令可能在tal:repeat之前运行,因此在select元素中只有一个选项,因此selectedIndex==0tal:repeat是一个Zope页面模板标记,它正在生成多个选项节点,并由服务器本身呈现。您能否发布Angular正在查看的内容的示例它是由服务器呈现的?我从页面来源复制了这一点:--阿拉巴马州阿拉巴马州阿拉斯加州美属萨摩亚州亚利桑那州瓜多斯岛循环遍历所有子项并检查所选属性产生的结果与使用selectedIndex不同?
<select id="state" ng-model="state" init-model-from-server>
  <option value="">----</option>
  <option tal:repeat="state states" tal:attributes="value state/code" tal:content="state/desc"></option>
</select>