Jquery hide函数可以处理文本字段,但会为选择框元素指定一个特定值

Jquery hide函数可以处理文本字段,但会为选择框元素指定一个特定值,jquery,Jquery,我在div中有一个复选框“Experience”(比如id=“exp”)。 如果用户选择yes,将显示一个隐藏的div(比如id=“fill\u details”)。 我正在使用jQuery隐藏和显示。 问题是,第一次单击复选框Experience yes时,隐藏的div将显示元素(文本框和选择框) 然后单击复选框Experience No,div再次隐藏,即使这样也可以。 但再次单击“是”时,文本框为空(我想要),但选择框本身指定了最后一个选择选项。(这是我不想要的。) 我想要的是“每次用户单

我在div中有一个复选框“Experience”(比如id=“exp”)。 如果用户选择yes,将显示一个隐藏的div(比如id=“fill\u details”)。 我正在使用jQuery隐藏和显示。 问题是,第一次单击复选框Experience yes时,隐藏的div将显示元素(文本框和选择框) 然后单击复选框Experience No,div再次隐藏,即使这样也可以。 但再次单击“是”时,文本框为空(我想要),但选择框本身指定了最后一个选择选项。(这是我不想要的。)

我想要的是“每次用户单击“是”体验复选框时,div必须显示为没有默认值。”

以下是我正在使用的代码:

@大卫托马斯:下面是HTML

<div id="exp" class="row">      
        <?php
        print drupal_render($form['submitted']['employment_history']['employer_1']['experience']);
         }
         ?>
    </div>
<div id="fill_details" >
    <div class="row">       
        <?php
        print drupal_render($form['submitted']['employment_history']['employer_1']['name_of_employer']);
        }
        ?>
    </div>
    <div class="row">       
        <?php
        print drupal_render($form['submitted']['employment_history']['employer_1']['starting_salary']);
         }
         ?>
    </div>
</div>
上面的经验元素是一个单选按钮,工资是选择框。 请帮忙,我无法理解问题所在。 谢谢

选择框中是否有“空白”值?如果没有,请尝试以下操作:

<select id="mySelect">
    <option value="">Please select an option</option>
</select>

请选择一个选项

您可能需要重置该值

if($("#exp").is(':checked'))  {

    $('#fill_details').show();
}
else  {
    $('#fill_details').hide();
    $('#fill_details *').val('');
    **$('#fill_details select option:first').attr('selected','selected');**
}

但是使用JSFIDLE之类的工具更容易辨别。

嘿,您可以使用jquery
toggle()
方法隐藏/取消隐藏复选框上的div

$("#exp").click(function() {
  $("#fill_details").toggle();
});

可以添加请显示相关的html;描述它比你想象的要模糊得多,也没有那么有用。你需要在选择框中有一个空选项,并在显示时通过代码选择它。@Malai:我无法创建JSFIDLE。首先,我以前从未创建过一个。第二,html使用drupal#u render,它不会在jsfiddle.net中生成任何结果。为什么要在else部分中添加*after#fill_详细信息?问题是默认值的外观,而不是隐藏和显示。你能帮我吗?
$("#exp").click(function() {
  $("#fill_details").toggle();
});