获取选择框的状态

时间:2016-05-19 11:01:13

标签: javascript jquery

我正在从SQL数据库进行一些Ajax过滤,目前我正在使用复选框,它们可以正常工作。 我需要从选择框中获取一些过滤器,我需要你的帮助才能将选择框的状态变为我的函数

这些功能如下:

function searchOptions() {
  var opts = [];
  $checkboxes.each(function() {
    if (this.checked) {
      opts.push(this.name);
    }
  });
  return opts;
};

复选框的HTML:

<input type="checkbox" name="type1">
<input type="checkbox" name="type2">

选择框的HTML:

<select>
  <option value="value1">option1</option>
  <option value="value2">option2</option>
  <option value="value3">option3</option>
</select>

如何使用选择框执行相同的操作?我需要检查它是否已设置,并从<option>获取值 对于复选框,我使用了name属性,并且我不确定<option>的正确属性是什么?

2 个答案:

答案 0 :(得分:2)

在选择中你不必担心选项。可以从value属性本身提取选择select您可以尝试这样的事情:

function searchSelectOptions(){

var opts = [];
$('YOUR-SELECT-CLASS').each(function(){
    if($(this).val()!=='' || typeof $(this).val()!=='undefined'){
       opts.push(this.val());
    }
    });
return opts;

};

编辑如果您已经定义了选项,并且它们的值没有空字符串(OP编辑后就是这种情况)。你可以这么做:

function searchSelectOptions(){

var opts = [];
$('YOUR-SELECT-CLASS').each(function(){
   opts.push(this.val());
});
return opts;

};

答案 1 :(得分:0)

如果默认选择的选项始终是第一个,您可以使用:

进行检查
if(this.selectedIndex != 0)

this指的是select元素。

-jsFiddle-