获取选择框的状态

Get state of select box

本文关键字:状态 选择 获取      更新时间:2023-09-26

我正在从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>的正确属性?

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

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

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

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

如果默认选择的选项始终是第一个,则可以使用进行检查

if(this.selectedIndex != 0)

其中this是指select元素。

-jsFiddle-