1

我有一个生成选项列表的 wordpress 插件。生成的代码是这样的:

<select name="question">
  <option value="yes">Yes</option>
  <option value="no">No</option>
  <option value="maybe">Maybe</option></select>

<p id="text">some text</p>

如果选择了该选项,下面是我想显示的一段。如果选择是或否,则应将其隐藏。

我想出的 Jquery 脚本(经过大量的谷歌搜索、复制和粘贴)是这样的:

$('select').change(function(){
  var selectVal = $(‘select’).val();

            if( $selectVal=="maybe"){
              $('#text').show();}
            else{
            $('#text').hide();}
        });

不幸的是,这不起作用。有人知道我做错了什么或如何做对吗?

4

2 回答 2

2

$selectVal不同于selectVal. 智能引号是 jQuery 选择器中的禁忌。

您还需要隐藏段落 onload。CSSdisplay: none可以做到最好。

http://jsfiddle.net/mblase75/uz2uf/

顺便说一句,您可以将布尔值传递给该.toggle()方法以缩短您的代码:

$('select').change(function() {
    var selectVal = $(this).val();
    $('#text').toggle(selectVal=="maybe");
});​

http://jsfiddle.net/mblase75/uz2uf/1/

于 2012-07-24T18:27:35.067 回答
1
$('select[name=question]').change(function(){
  var selectVal = $(this).val();

  if( selectVal=="maybe"){
     $('#text').show();
  }else{
     $('#text').hide();}
});

jsfiddle:http: //jsfiddle.net/ufomammut66/xqCKD/

于 2012-07-24T18:31:09.167 回答