使用jquery返回select标记的所有元素

时间:2011-05-12 19:03:08

标签: jquery

我有一个如下所示的选择标记:

<select name="TZSelector" id="TheTZSelector">
  <option>add another timezone</option>
  <option>------------------------------------------------------</option>
  <option></option>
  <option value="-8.00">(Pacific Time) San Francisco</option>
  <option value="-7.00">(Mountain Time) Denver
......
</select>

如何返回选项中的所有值。请注意,选项1,2和3没有值,但所有其他值都有。 我正在寻找这样的东西:

$(...).each(function () { MyFunction takes the value of $(this) as parameter });

这样,我可以编写MyFunction并遍历选项集合。

感谢您的建议。

2 个答案:

答案 0 :(得分:1)

这将选择具有值的所有选项;

$('select > option[value]').each(function() {
  // Your magic here
  // $(this).val() is the value of the option
});

小提琴: http://jsfiddle.net/8PHDp/1/

答案 1 :(得分:0)

function get_opt_vals($select){
    var all_val = [];
    $('option', $select).each(function(index, item){
        all_val.push(item.value);
    })
    return all_val;
}

//call like this:
var opt_array = get_opt_vals($('#TheTZSelector'));

console.log(opt_array);

小提琴:http://jsfiddle.net/maniator/yqxX4/