我正在使用plugin来为我的<select>
元素提供由jquery加载的图像。问题是,名称没有转移到新代码,因此无法提交围绕它的表单。新代码如下:
<div id="itemselect1" name="item1" class="dd-container">
<div class="dd-select">
<input class="dd-selected-value" value="Apple" type="hidden">
</div>
</div>
<div id="itemselect2" name="item2" class="dd-container">
<div class="dd-select">
<input class="dd-selected-value" value="Orange" type="hidden">
</div>
</div> // the list continues
所以我尝试了这种方法来转移名称:
var list = {
"itemselect1": "item1",
"itemselect2": "item2",
"itemselect3": "item3",
"itemselect4": "item4",
"itemselect5": "item5",
"itemselect6": "item6"
};
$.each( list, function( key, value ) {
$("#"+ key).children().children("input.dd-selected-value").attr("name", value );
});
虽然它还没有用。 <input>
元素没有名称。有想法该怎么解决这个吗?谢谢!
修改:我添加了一些更改以帮助诊断问题
$.each( list, function( key, value ) {
$("#"+ key).children().children("input.dd-selected-value").attr("name", value );
console.log(key);
console.log(value);
console.log($("div#"+ key).attr("name"));
});
控制台说的是什么:
itemselect1 (index):30
item1 (index):31
undefined (index):32
itemselect2 (index):30
item2 (index):31
undefined (index):32
我在插件jquery文件的末尾以及<script>
文件中的index
标记中尝试过此操作。它显然没有找到这个名字。我要继续挖掘......
答案 0 :(得分:0)
尝试for in
for (var key in list){
$("#"+ key).children().children("input.dd-selected-value").attr("name", list[key] );
}