0

我真的很想知道是否有任何方法可以在 HTML Select Tag 中找到选定选项的选定组。

我想获得所选值的父级,但无法获得正确的解决方案。但我们也不能排除这个选项。

<select id="selectName">
    <option value="0">-- Select --</option>
    <optgroup label="Section -- 1">
        <option value="1">One</option>
        <option value="2">Two</option>
        <option value="3">Three</option>
        <option value="4">Four</option>
    </optgroup>
    <optgroup label="Section -- 2">
        <option value="100">Hundred</option>
    </optgroup>
</select>

我集会不想这样写我的代码......

$val = $('#selectName').val()

if($val >=1 && $val <= 4){/* ... */}
else if(/*-- another range --*/){/* ... */}

我想知道是否有一种方法可以找到组名。

谢谢。

4

4 回答 4

4

以下应该有效:

var optgroup = $("#selectName :selected").parent("optgroup");
if (optgroup.length) {
    var label = optgroup.attr("label");
    if (label == " ... ") {
        // do something
    }
}

演示:http: //jsfiddle.net/3Sqjh/

于 2012-07-11T08:27:20.410 回答
1

你想要这样吗?

$("#selectName").change(function(){
    $val = $('#selectName :selected').parent().attr('label');
    alert($val);
});
于 2012-07-11T08:29:45.397 回答
0

使用所选元素的父组的标签文本创建警报:

var $group = $('#selectName option:selected').parent();
alert($group.attr("label"));
于 2012-07-11T08:26:38.520 回答
0
$('select').change(function(e){
  var group = $('select option:selected').parent('optgroup');
  var groupText = group.attr('label');
});

JSBin 上的演示

于 2012-07-11T08:47:40.757 回答