算不了。 div中的下拉列表

时间:2012-03-01 10:02:30

标签: javascript jquery

<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中实现这一点?

4 个答案:

答案 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);