繁体   English   中英

为什么此javascript无法正常工作-如果选择框

[英]Why is this javascript not working - select box if

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

这是我的代码

$(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

但我有同样的问题。

$(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/


如果您希望它也能在页面加载时运行(在手动选择选项之前),则触发change事件:

$(document).ready(function() {
    var txt = 'Marketing';
    $("#input_3_1").change(function () {
        $('.mar').toggle( this.value != txt );
    }).change();
});​

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

您根本不需要循环

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

$(document).ready(function(){

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

     }).change()
});

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

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

在这里演示

$("#input_3_1").change(function(){
  if ($("#input_3_1").val()=='Marketing'){
    $(".mar").hide();
  }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM