1

我有一个 div 元素

<div id=form><form id="formstuff">form input stuff</div></div>

当用户点击另一个元素时显示/隐藏(或切换)

<div id="close"></div>

如果#form显示并且用户决定输入值,但突然决定只单击#close按钮以关闭#form元素而不删除值。#form当用户决定关闭或隐藏()时,您将如何删除所有输入值?

是做类似的事情的唯一方法$(this).val('');还是有类似的事情,.empty();但我不想删除样式等,只是文本。

4

3 回答 3

1

试试这个:http: //jsfiddle.net/96FJp/

用户界面:

<form id="thisForm">
    <input type="text" value="HellO">
    <input type="text" value="World">

    <input type="button" value="wow"/>   
</form>

<input type="button" id="test">​

jQuery:

$('#test').click(function() {    
    $('input:not([type=button])', '#thisForm').val('');
 });

​<hr/> 要包含其他输入,只需在 jQuery 选择器上加一个逗号,执行以下操作:http: //jsfiddle.net/dpRJy/1/

用户界面:

<form id="thisForm">
    <input type="text" value="HellO">
    <input type="text" value="World">

    <input type="button" value="wow"/>  

    <select id="country">
        <option value="">--Select Country--</option>
        <option value="PH">Philippines</option>
        <option value="CN" selected>China</option>        
        <option value="CA">Canada</option>                
    </select>      

    <br/>
    <input id="drink" type="radio" name="drink" value="Water"> Water<br>
    <input id="drink" type="radio" name="drink" value="Beer"> Beer<br>
    <input id="drink" type="radio" name="drink" value="Wine" checked>Wine<br/>    
</form>

<input type="button" id="test">​

jQuery:

$('#test').click(function() {    
    $('input:not([type=button]),select', '#thisForm').val('');

    // radio button doesn't fit nicely to method val value clearing,
    // have to do this:
    $('input:radio','#thisForm').prop('checked', false);
 });
​
于 2012-04-26T05:02:03.960 回答
0

$(this).val('');或者

$(this).attr('value','');
于 2012-04-26T04:35:57.317 回答
0

$(selector).empty() 用于删除所有子元素以及其中的文本。由于您希望保留 stye 和元素,因此对父表单使用子选择器并将每个元素的值设置为 ''。

$('#form').children().val('');

$('#form').children().attr('value','');

于 2012-04-26T04:38:22.030 回答