0

我有一个非常奇怪的淘汰赛 js 问题。发生的情况是,只有每个 div 中的第一个标签被渲染到 DOM,其他的只是......不要。最奇怪的部分是:它不会产生任何错误,并且 dom 的其余部分正确呈现,其次它发生最多但不是所有时间?有什么猜测吗?

正在呈现的模板是这样的:

<div class="row">        
    <div>
        <span data-bind="text: $data.topRows()[0].text() + $data.topRows()[1].text()" />            
        <input data-bind="value: $data.topRows()[0].inputText"  /> <!-- this fails to go into the dom sometimes and every row past the first span and inside this div -->
    </div>
    <div>
        <span data-bind="text: $data.topRows()[1].text()" />    <!-- this is renderdd -->        
        <input data-bind="text: $data.topRows()[1].inputText" /> <!-- this is not -->
    </div>
</div>

我知道这没什么好说的,但是好吧,我无言以对。RequireJs 用于要求所有文件。

4

2 回答 2

1

您应该使用value绑定而不是textfor<input>

<span data-bind="text: $data.topRows()[0].text() + $data.topRows()[1].text()" />            
<input data-bind="value: $data.topRows()[0].inputText"  /> 

<span data-bind="text: $data.topRows()[1].text()" />        
<input data-bind="value: $data.topRows()[1].inputText" />   

JSFiddle 演示

于 2013-10-31T15:40:41.893 回答
1

您提出的代码段中有各种问题:

  • span元素在自动关闭时效果不佳,请<span data-bind="..."></span>改用;
  • 您没有正确关闭第一条评论
  • 正如@ilya 提到的,您可能需要value输入绑定
  • 您的第二个输入有错字,它以<inputdata-bind...(缺少一个空格)开头

如果我解决了这四个问题,您的代码就可以正常工作

于 2013-10-31T15:46:34.563 回答