Jquery $(“.child”).hide(); }else if($(this.val()=“儿童套装”){ $('select#u 3 option:first').attr('selected','selected'); $(“.child”).show(); $(“.women”).hide(); $(“.men”).hide(); } }); });
希望这会有所帮助:)我尝试了许多不同的方法,但这个解决方案似乎是合理的,我已经在代码中使用过。没有插件需要jquery对象的简单注册函数 解决方案一览表:Jquery $(“.child”).hide(); }else if($(this.val()=“儿童套装”){ $('select#u 3 option:first').attr('selected','selected'); $(“.child”).show(); $(“.women”).hide(); $(“.men”).hide(); } }); });,jquery,html,forms,html-select,Jquery,Html,Forms,Html Select,希望这会有所帮助:)我尝试了许多不同的方法,但这个解决方案似乎是合理的,我已经在代码中使用过。没有插件需要jquery对象的简单注册函数 解决方案一览表: (function ($) { $('#showOne').click(function () { $('#ddlNumbers').showHideDropdownOptions('3', true); }); $('#hideOne').click(function () { $('#ddlNumbers').sho
(function ($) {
$('#showOne').click(function () {
$('#ddlNumbers').showHideDropdownOptions('3', true);
});
$('#hideOne').click(function () {
$('#ddlNumbers').showHideDropdownOptions('3', false);
});
$.fn.showHideDropdownOptions = function(value, canShowOption) {
$(this).find('option[value="' + value + '"]').map(function () {
return $(this).parent('span').length === 0 ? this : null;
}).wrap('<span>').hide();
if (canShowOption)
$(this).find('option[value="' + value + '"]').unwrap().show();
else
$(this).find('option[value="' + value + '"]').hide();
}
})(jQuery);
(函数($){
$('#showOne')。单击(函数(){
$('#ddlNumbers')。showHideDropdownOptions('3',true);
});
$('#hideOne')。单击(函数(){
$('#ddlNumbers')。showHideDropdownOptions('3',false);
});
$.fn.showHideDropdownOptions=函数(值,canShowOption){
$(this.find('option[value=“”+value+'“]')).map(函数(){
返回$(this).parent('span')。长度===0?this:null;
}).wrap(“”).hide();
如果(可显示选项)
$(this.find('option[value=“”+value+'“])).unwrap().show();
其他的
$(this.find('option[value=“”+value+“]]).hide();
}
})(jQuery);
下面是完整的实现我尝试了许多不同的方法,但是这个解决方案似乎是合理的,我已经在代码中使用过了。没有插件需要jquery对象的简单注册函数 解决方案一览表:
(function ($) {
$('#showOne').click(function () {
$('#ddlNumbers').showHideDropdownOptions('3', true);
});
$('#hideOne').click(function () {
$('#ddlNumbers').showHideDropdownOptions('3', false);
});
$.fn.showHideDropdownOptions = function(value, canShowOption) {
$(this).find('option[value="' + value + '"]').map(function () {
return $(this).parent('span').length === 0 ? this : null;
}).wrap('<span>').hide();
if (canShowOption)
$(this).find('option[value="' + value + '"]').unwrap().show();
else
$(this).find('option[value="' + value + '"]').hide();
}
})(jQuery);
(函数($){
$('#showOne')。单击(函数(){
$('#ddlNumbers')。showHideDropdownOptions('3',true);
});
$('#hideOne')。单击(函数(){
$('#ddlNumbers')。showHideDropdownOptions('3',false);
});
$.fn.showHideDropdownOptions=函数(值,canShowOption){
$(this.find('option[value=“”+value+'“]')).map(函数(){
返回$(this).parent('span')。长度===0?this:null;
}).wrap(“”).hide();
如果(可显示选项)
$(this.find('option[value=“”+value+'“])).unwrap().show();
其他的
$(this.find('option[value=“”+value+“]]).hide();
}
})(jQuery);
这是完整的实现你能说出第三个选项显示隐藏的条件吗?@Eez,我刚刚更新了帖子。谢谢。试试这个解决方案@BuDen,这正是我需要的。谢谢大家!@elena我根据你的条件更新了我的答案。你能说出第三个选项显示隐藏的条件吗?@Eez,我刚刚更新了帖子。谢谢。试试这个解决方案@BuDen,这正是我需要的。谢谢大家!@我根据你的情况更新了我的答案。这是一个很好的例子。谢谢!不过,这将是一个关键字搜索,所以我需要所有选项中的值保持原样,而不是在前面加前缀。嗨,格林霍姆,这在Chrome和firefox中非常有效。但在IE10中不起作用。这是一个很好的例子,谢谢!不过,这将是一个关键字搜索,所以我需要所有选项中的值保持原样,而不是在前面加前缀。嗨,格林霍姆,这在Chrome和firefox中非常有效。但在IE10中不起作用。@请尝试禁用选项$(“.women,.children”).attr(“disabled”,“disabled”)@尝试禁用选项$(“.women,.children”).attr(“disabled”,“disabled”);
<select class="size" id="select_3" name="size">
<option selected="selected" value=""> Choose Size </option>
<!-- Mens Sizes Below -->
<option class="men" value="36">36</option>
<option class="men" value="38">38</option>
<option class="men" value="40">40</option>
<!-- Womens Sizes Below -->
<option class="women" value="30">30</option>
<option class="women" value="29">29</option>
<option class="women" value="28">28</option>
<!-- Children Sizes Below -->
<option class="children" value="12">12</option>
<option class="children" value="11">11</option>
<option class="children" value="10">10</option>
</select>
$("#select_1").change(function(){
var selectedVal = $(this).val();
if(selectedVal == "Mens Suits")
{
$(".women,.children").hide();
$(".men").show();
}
else if(selectedVal == "Womens Suit")
{
$(".men,.children").hide();
$(".women").show();
}
else
{
$(".women,.children").hide();
$(".children").show();
}
});
$("#select_1").on('change',function(){
if($("#select_1").prop("selectedIndex")==1){
$('#select_3 option').show();
$('#select_3 option:gt(3)').hide();
//$('#select_3 option:lt(3)').show();
}else if($("#select_1").prop("selectedIndex")==2){
$('#select_3 option').show();
$('#select_3 option:lt(4)').hide();
$('#select_3 option:gt(6)').hide();
}else if($("#select_1").prop("selectedIndex")==3){
$('#select_3 option').show();
$('#select_3 option:lt(7)').hide();
}
});
Hope this helps
<select class="product" id="select_1" name="product">
<option selected="selected" value=""> Choose Category </option>
<option value="Mens Suits"> Mens Suits </option>
<option value="Womens Suit"> Womens Suits </option>
<option value="Children Suit"> Children Suits </option>
</select>
<select class="color" id="select_2" name="color">
<option selected="selected" value=""> Choose Color </option>
<option value="Blue">Blue</option>
<option value="Red">Red</option>
<option value="Green">Green</option>
</select>
<select class="size" id="select_3" name="size">
<option selected="selected" value=""> Choose Size </option>
<!-- Mens Sizes Below -->
<option value="Mens_36">36</option>
<option value="Mens_38">38</option>
<option value="Mens_40">40</option>
<!-- Womens Sizes Below -->
<option value="Womens_30">30</option>
<option value="Womens_29">29</option>
<option value="Womens_28">28</option>
<!-- Children Sizes Below -->
<option value="Children_12">12</option>
<option value="Children_11">11</option>
<option value="Children_10">10</option>
</select>
$(document).ready(function() {
$("#select_3").children('option:gt(0)').hide();
$("#select_1").change(function() {
$("#select_3").children('option').hide();
$("#select_3").children("option[value^=" + $(this).val().split(" ")[0] + "]").show()
})
})
<select class="product" id="select_1" name="product">
<option selected="selected" value="">Choose Category </option>
<option value="Mens Suits">Mens Suits </option>
<option value="Womens Suit">Womens Suits </option>
<option value="Children Suit">Children Suits </option>
</select>
<select class="color" id="select_2" name="color">
<option selected="selected" value="">Choose Color </option>
<option value="Blue">Blue</option>
<option value="Red">Red</option>
<option value="Green">Green</option>
</select>
<select class="size" id="select_3" name="size">
<option selected="selected" value="">Choose Size </option>
<!-- Mens Sizes Below -->
<option value="36" class="men">36</option>
<option value="38" class="men">38</option>
<option value="40" class="men">40</option>
<!-- Womens Sizes Below -->
<option value="30" class ="women">30</option>
<option value="29" class ="women">29</option>
<option value="28" class ="women">28</option>
<!-- Children Sizes Below -->
<option value="12" class ="child">12</option>
<option value="11" class ="child">11</option>
<option value="10" class ="child">10</option>
</select>
<script>
$(document).ready(function () {
$("select#select_1").on('change', function () {
if ($(this).val() == "Mens Suits") {
// Default show the Choose Size Option
$('#select_3 option:first').attr('selected', 'selected');
$(".men").show();
$(".women").hide();
$(".child").hide();
} else if ($(this).val() == "Womens Suit") {
$('#select_3 option:first').attr('selected', 'selected');
$(".women").show();
$(".men").hide();
$(".child").hide();
} else if ($(this).val() == "Children Suit") {
$('#select_3 option:first').attr('selected', 'selected');
$(".child").show();
$(".women").hide();
$(".men").hide();
}
});
});
</script>
(function ($) {
$('#showOne').click(function () {
$('#ddlNumbers').showHideDropdownOptions('3', true);
});
$('#hideOne').click(function () {
$('#ddlNumbers').showHideDropdownOptions('3', false);
});
$.fn.showHideDropdownOptions = function(value, canShowOption) {
$(this).find('option[value="' + value + '"]').map(function () {
return $(this).parent('span').length === 0 ? this : null;
}).wrap('<span>').hide();
if (canShowOption)
$(this).find('option[value="' + value + '"]').unwrap().show();
else
$(this).find('option[value="' + value + '"]').hide();
}
})(jQuery);