var i = 0;
@foreach (var item in Model)
{
<text>
$('#jp_audio_' + i).attr("id", "#jp_audio_@item.Id")
i++;
</text>
}
i ++似乎阻止了它的运作。如果i ++不存在,那么它会将#jp_audio_0
设置为新的id,但我需要将所有id设置为新值,而不仅仅是第一个。有什么想法吗?
使用i ++的HTML(Id&#39;未设置为新值);
<audio id="jp_audio_0" preload="metadata" src="http://localhost:6060/Music/StreamPublishedSongs/95"></audio>
<audio id="jp_audio_1" preload="metadata" src="http://localhost:6060/Music/StreamPublishedSongs/96"></audio>
代码中没有i ++(第一个设置实际工作);
<audio id="#jp_audio_96" preload="metadata" src="http://localhost:6060/Music/StreamPublishedSongs/95"></audio>
<audio id="jp_audio_1" preload="metadata" src="http://localhost:6060/Music/StreamPublishedSongs/96"></audio>
答案 0 :(得分:2)
尝试将变量转换为C#:
@{
int i = 0;
}
@foreach (var item in Model)
{
<text>
$('#jp_audio_' + @i).attr("id", "#jp_audio_@item.Id");
@{i++;}
</text>
}
答案 1 :(得分:0)
你需要更像这样的东西......我使用纯JS,所以你必须适用于你的情况(MVC):
for (i = 0; i < 2; i++) {
$('#jp_audio_' + i).attr("id", "#jp_audio_@item.Id")
}
此处i
将从0开始,然后从1开始结束。不确定您需要在哪里开始和顶部。
答案 2 :(得分:0)
无法看到&#39;模型&#39;的结构。对象,很难说出发生了什么。这是一个jQuery示例,以我认为您想要的方式输出值。请注意我是如何构建对象的,以便我可以访问项目&#39;循环中通过Model.items的属性。
$(function(){
var Model = {
items: [{
id: 'ID-1234',
name: 'foo'
}, {
id: 'ID-4567',
name: 'bar'
}]
},
i = 0
;
for( item in Model.items) {
$('#jp_audio_' + i).attr("id", "#jp_audio_"+Model.items[i].id);
// output some text so we can see the IDs we're changing
$('.container').append("#jp_audio_"+Model.items[i].id+'<br/>');
i++;
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="container">
<audio id="jp_audio_0" preload="metadata" src="#"></audio>
<audio id="jp_audio_1" preload="metadata" src="#"></audio>
</div>
&#13;