【问题标题】:How to set form input values inside an ng-repeat?如何在 ng-repeat 中设置表单输入值?
【发布时间】:2016-06-27 00:56:27
【问题描述】:

我有一个从 Spotify 获取歌曲的 ng-repeat。对于 ng-repeat 中的每首歌曲,我想要一个表单,其中根据歌曲中的信息预先填充输入值。

这是我的看法:

<div ng-repeat="song in spotifyResults">
    <h1>{{song.name}}<h1>
    <h2>Artist: {{song.artists[0].name}}</h2>      
    <h3>Album: {{song.album.name}}</h3> 
    <h4>{{song.id}}</h4>
    <iframe ng-src="{{getIframeSrc(song.id) | trusted}}" width="100%" height="50%" frameborder="0" allowtransparency="true"></iframe>

    <form class="form" name="form" ng-submit="selection.addSong(songName)" novalidate>
    <div class="form-group">
        <label>Name</label>
        <input type="text" value="{{song.name}}" name="songName" class="form-control" ng-model="songName" required/>
    </div>
    <button class="btn btn-primary">Save Song</button>
   </form>
<hr>
</div>

我可以使用重复中的表达式成功设置输入的占位符,如下所示:

placeholder="{{song.name}}"

但我似乎无法像这样设置输入的值:

value="{{song.name}}"

如果我尝试使用表达式设置的值提交表单,传递给 ng-submit 函数的 songName 参数是未定义的。

如何在 ng-repeat 中设置默认表单输入值?

【问题讨论】:

    标签: javascript html angularjs forms


    【解决方案1】:

    尝试将 obj 属性 song.name 直接传递给函数并将输入的模型设置为 song.name

    【讨论】:

    • 我试过了,这似乎成功了!我将在一秒钟内发布该视图的更新工作版本
    • 很高兴听到这个消息!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-15
    • 2017-02-27
    • 2019-06-16
    • 2016-01-10
    • 1970-01-01
    • 2016-03-01
    • 1970-01-01
    相关资源
    最近更新 更多