<div id="myDiv">
<select id="ddl1" name="31">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3" selected="selected">Three</option>
</select>
<select id="ddl2" name=32>
<option value="1">A</option>
<option value="2" selected="selected">B</option>
<option value="3">C</option>
</select>
</div>
多数民众赞成我的div。这个div中的下拉数量各不相同。我想要的是一个字符串: -
31,3||32,2
以上是下拉列表的名称属性值,逗号后面的第二个数字是所选选项的“值”,两个下拉列表的值由管道符号分隔。下拉数也可以是3和4。我怎样才能在jquery中实现这一点?
答案 0 :(得分:4)
有点像这样:
var selects = [];
$("#myDiv select").each(function() {
selects.push(this.name + "," + $(this).val());
});
var output = selects.join("||");
使用.each()
method迭代所有select元素并将其名称和当前值推入selects
数组,然后使用数组.join()
方法转换数组使用"||"
作为分隔符进入字符串。
答案 1 :(得分:2)
试试这个代码段:
var output = [];
$('#myDiv select').each(function() {
output.push([this.name, $(this).val()].join(','));
});
console.log(output.join('||'));
答案 2 :(得分:1)
尝试以下方法:
var values = [];
$('#myDiv select').each(function() {
values.push($(this).attr('name') + ',' + $(this).val());
});
var result = values.join('||');
答案 3 :(得分:0)
var val = "";
$("select").each(function(){
val += $(this).attr("name") + "," + $("option:selected",this).val()+ "||";
})
if(val != "")
val = val.substring(0, val.length - 2);
console.log(val);