0

我的网站上有这段代码。这个想法是在选择特定的选择框值时隐藏特定的类。

这是我的代码

$(document).ready(function(){
var txt = 'Marketing';
$("div.ginput_container select#input_3_1 option").each(function(){
    if($(this).val()==txt){
        $('.mar').hide();    
    }

   });
});

我得到的结果是 .mar 类在页面加载后立即被隐藏。我看不到错误,我也尝试过

变量数 = 1

但我有同样的问题。

4

4 回答 4

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();
});​

这是小提琴:http: //jsfiddle.net/9Cyxh/2/

于 2012-11-13T17:17:25.687 回答
1

你首先不需要循环

将您的选择附加到 change() 事件处理程序,应该就是它..

$(document).ready(function(){

     $("select#input_3_1").on('change', function() {
         var txt = 'Marketing';
         if(this.value === txt){
             $('.mar').hide();    
        };

     }).change()
});
于 2012-11-13T17:16:17.840 回答
0

如果您只想在值更改且等于“Marketing”时隐藏“.mar”类,请尝试

$("#input_3_1").change( function() {
    if( $(this).val().toUpperCase() === "MARKETING" ) {
        $(".mar").hide();
    }
});

演示在这里

于 2012-11-13T17:15:01.227 回答
0
$("#input_3_1").change(function(){
  if ($("#input_3_1").val()=='Marketing'){
    $(".mar").hide();
  }
});
于 2012-11-13T17:37:47.100 回答