【问题标题】:Setting the value of an input when using foreach in knockout在敲除中使用 foreach 时设置输入的值
【发布时间】:2014-03-05 01:56:19
【问题描述】:

我正在使用 attr 绑定来设置输入标签的名称和值。问题是我不知道用于该值的绑定。到目前为止,我已经尝试过 text 和 value 但没有运气。我的代码如下所示:

<div data-bind="foreach: witnesses">
    <input data-bind="attr: { name: 'firstName', text: firstName }"/>    
</div>

我希望这将呈现为:

<input name='firstName value=`enter code here`'Joe'>

甚至

<input name='firstName'>Jo`enter code here`e</input>

如何做到这一点?另外,我如何获取 foreach 循环当前迭代的索引,因为我需要将其添加到我的名字中......

标记

【问题讨论】:

    标签: knockout.js


    【解决方案1】:

    尝试以下方法:

    <div data-bind="foreach: witnesses">
    <input data-bind="attr: { name: 'firstName' + $index()}, value: firstName"/>    
    </div>
    

    在这里,我将 foreach 索引(从零开始)连接到输入元素的名称中。这实际上不是必需的,但既然你提到了它,我认为你需要它。

    如果您要识别所有这些输入,使用 css 类可能更有意义。

    【讨论】:

      【解决方案2】:

      即时解决方案。顺便说一句,您忘记了 type 属性。你应该设置它。

       <div data-bind="foreach: witnesses">
               <input type="text" name='firstName' data-bind="value: 'enter code here ' + firstName"/>    
            </div>
      

      正如其他人提到的,$index 为您提供循环中当前项目的索引。

      【讨论】:

      • 感谢您的回答。我明天上班去看看。我很确定我已经尝试过使用该值,但我会再试一次。
      猜你喜欢
      • 2021-08-03
      • 1970-01-01
      • 2013-08-02
      • 2014-04-18
      • 2015-06-16
      • 1970-01-01
      • 2018-01-12
      • 1970-01-01
      • 2018-04-11
      相关资源
      最近更新 更多