gpt4 book ai didi

jQuery 转到 optgroup 标签

转载 作者:行者123 更新时间:2023-12-03 22:52:37 26 4
gpt4 key购买 nike

我有一个用于搜索的下拉菜单设置。这个想法是您单击一个选项,然后 OPTGROUP 就会出现。我想做的是,一旦选择了标签,它就会跳转到 OPTGROUP 的该部分。

到目前为止我已经写了一些 jQuery。看这个jsFiddle - 所以一旦你选择了一个主要类别。我希望 optgroup 转到其配对标签。我怎样才能实现这个目标?

HTML

<select id="category" name="category">
<option selected="selected" value="0">Choose a category...</option>
...
<option value="4">Photography</option>
</select>
<select multiple="multiple" id="subcategory" name="category_ids[]">
<optgroup label="Art Styles">
<option value="5">Abstract</option>
...
<option value="18">Graphics</option>
</optgroup>
<optgroup label="Art Subjects">
<option value="19">Animals</option>
...
<option value="45">Dreams &amp; Nighmares</option>
</optgroup>
<optgroup label="Media">
<option value="46">Water Colour</option>
...
<option value="56">Mixed Media</option>
</optgroup>
<optgroup label="Photography">
<option value="57">Color Photography</option>
...
<option value="64">Celebrity Photography</option>
</optgroup>

肖像 景观 正方形

JavaScript

// Search Options Dropdown

// Hide Subcategory Dropdown

$('#subcategory').css('display', 'none');

// Hide Orientation Dropdown

$('#orientation').css('display','none');

$('#category').change(function()
{
$('#subcategory').css('display', 'block');
$('#orientation').css('display', 'block');

var CatValue = $("#category").val();

if (CatValue == '1')
{

}
});

最佳答案

嗯,感觉有点 hacky,但它可以在 Chrome 中使用,而且我确信通过一些浏览器嗅探并确定每个浏览器中的选项项高度,您可以让它在所有浏览器中工作:

// Search Options Dropdown
// Hide Subcategory Dropdown
$('#subcategory').css('display', 'none');
// Hide Orientation Dropdown
$('#orientation').css('display', 'none');
$('#category').change(function() {
var cat = $("#category :selected").text();
var $subcat = $('#subcategory');
$('#orientation').css('display', 'block');
var optcount = 0;
var optheight = 17;
$subcat.css('display', 'block').find('optgroup').each(function() {
optcount++;
if ($(this).attr('label') == cat) {
$subcat.val($('#subcategory optgroup[label="' + $(this).attr('label') + '"]').children('option:first').val())
.scrollTop($('#subcategory :selected')[0].index * optheight + ((optcount - 1) * optheight));
}
});
});​

jsfiddle

我确信您也可以做一些清理工作 - 例如移动 optgroup++ 并从scrollTop - ewww 中删除 - 1。它至少应该让你指向正确的方向。

关于jQuery 转到 optgroup 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10930606/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com