我的网站上有这个代码。这个想法是在选择特定的选择框值时隐藏特定的类。
这是我的代码
$(document).ready(function(){
var txt = 'Marketing';
$("div.ginput_container select#input_3_1 option").each(function(){
if($(this).val()==txt){
$('.mar').hide();
}
});
});
我得到的结果是.mar类在加载页面后立即被隐藏。我看不出错误,我也试过
var num = 1
但我有同样的问题。
答案 0 :(得分:2)
$(document).ready(function() {
var txt = 'Marketing';
$("#input_3_1").change(function () {
if ( this.value == txt ) $('.mar').hide();
});
});
这是小提琴:http://jsfiddle.net/9Cyxh/
如果您想在选择其他选项时显示$('.mar')
,请改为使用toggle
:
$('.mar').toggle( this.value != txt );
这是小提琴:http://jsfiddle.net/9Cyxh/1/
如果您希望在页面加载时运行(在手动选择选项之前),则触发更改事件:
$(document).ready(function() {
var txt = 'Marketing';
$("#input_3_1").change(function () {
$('.mar').toggle( this.value != txt );
}).change();
});
答案 1 :(得分:1)
您首先不需要循环
将你的select附加到change()事件处理程序,应该是它..
$(document).ready(function(){
$("select#input_3_1").on('change', function() {
var txt = 'Marketing';
if(this.value === txt){
$('.mar').hide();
};
}).change()
});
答案 2 :(得分:0)
如果您只想在值更改时隐藏“.mar”类并且等于“营销”,请尝试
$("#input_3_1").change( function() {
if( $(this).val().toUpperCase() === "MARKETING" ) {
$(".mar").hide();
}
});
演示here
答案 3 :(得分:0)
$("#input_3_1").change(function(){
if ($("#input_3_1").val()=='Marketing'){
$(".mar").hide();
}
});