如果Div已隐藏,则JQuery测试,如果已隐藏,则清除表单字段

时间:2011-07-19 15:10:55

标签: jquery

我有一些可以使用以下内容扩展的div:

$('.adddriver1').click(function(){
$("#additionaldriver1").slideToggle();
return false;
});

我只是根据需要更改div id。 然后可以填写此div中的字段。

如果此人点击按钮隐藏div,我需要检查是否输入了任何内容,然后清除字段。 我在尝试:

$("#additionaldriver1").change(function(){
if($("#additionaldriver1").is(":hidden")){
$("#Driver2FirstName").val('');
$("#Driver2LastName").val('');
}
});

html是:

     <a href="#"><img src="images/adddriver.gif" alt="" width="203" height="20" border="0" class="adddriver1" /></a>
</div>

<div id="additionaldriver1">
    <h1>Section 2.2 - <span>Additonal Driver 1 Information</span></h1>
    <table width="100%" border="0" cellspacing="3" cellpadding="3">

      <tr>

        <td width="34%" valign="middle"><strong>Additional Driver 1 </strong></td>
        <td colspan="2" valign="middle">&nbsp;</td>
      </tr>
    </table>
</div>

但它并不清楚这些领域。 任何帮助,将不胜感激 提前谢谢,沃伦

2 个答案:

答案 0 :(得分:2)

$(“#additionaldriver1”)是div吗?如果是的话,我认为它不会引发变革事件。你最好在slidetoggle函数的回调函数中调用你的隐藏代码(下面的代码没有经过测试) -

$("#additionaldriver1").slideToggle('medium',function () {
  if($("#additionaldriver1").is(":hidden")){
    $("#Driver2FirstName").val('');
    $("#Driver2LastName").val('');
  }
});

答案 1 :(得分:1)

利用回调:

$('.adddriver1').click(function(){
    $('#additionaldriver1').slideToggle('slow',function(){
        if($(this).is(':hidden'))
        {
            $('#Driver2FirstName').val('');
            $('#Driver2LastName').val('');
        }
    });
});