在不重新加载页面的情况下清除值
Clearing values without reloading the page
我有一系列文本框和下拉列表,用户填写这些文本框和下拉菜单,点击"生成",然后连接文本框中的字符串并在页面上显示结果值。
我遇到麻烦的是,如果用户再次点击生成,则清除这些"输出"。 例如,如果有人更改了文本或类似的东西。
多行上有多组文本框,生成的字符串放置在页面末尾的<span>
中。示例代码如下:
.HTML:
<div id="activitytag">
<h3>Activity Tags</h3>
<a class="addActivityTag button blue">+</a> <a class="removeActivityTag button blue">-</a>
<form id="tag-form" class="tag-form">
<input type="checkbox" class="checkbox nounderscore" name="tfcheck">
<select class="page_type" title="Page Type">
<option value="HPG">HPG – Homepage</option>
<option value="LPG">LPG – Landing Page</option>
<option value="CNT">CNT – Content</option>
<option value="RES">RES – Research</option>
<option value="ENG">ENG – Engagement</option>
<option value="CNV">CNV – Sale Conversion</option>
</select>
<input type="text" class="pagedesc nounderscore" value="Page Description" title="Page Description" onfocus="clickclear(this, 'Page Description')" onblur="clickrecall(this,'Page Description')" />
<input type="text" class="tagstartdate numberinput" value="Tag Start Date" title="Tag Start Date" maxlength="8" onfocus="clickclear(this, 'Tag Start Date')" onblur="clickrecall(this,'Tag Start Date')" />
<span class="tag_span"></span>
</form>
</div>
<div class="dfanames">
<h4>Activity Group</h4>
<span id="activitytaggrouptext"></span>
</div>
j查询:
$(document).ready(function() {
$('.gp').click(generateOutputs);
});
function clearAll() {
$('.tag_span').each(function() {
$('.tag_span').html("");
});
}
您可以从上面的jQuery中看到,我尝试使用each()
函数(因为可以有多行)来清除范围,但这不起作用。希望我在这篇文章中说得通。如果人们不明白这一点,会尝试更好地解释它。
谢谢
尝试使用重置按钮
<input type="reset"/>
否则,如果您尝试在代码中执行此操作,则应执行以下操作:
function clear_form_elements(ele) {
$(ele).find(':input').each(function() {
switch(this.type) {
case 'password':
case 'select-multiple':
case 'select-one':
case 'text':
case 'textarea':
$(this).val('');
break;
case 'checkbox':
case 'radio':
this.checked = false;
}
});
}
clear_form_elements('#tag-form');
http://www.electrictoolbox.com/jquery-clear-form/
试试这个... 我在这里所做的是将按钮的输入放在表单中,并将其类型设置为重置。 这允许我将代码放在表单的 onreset
属性中,以便清除当前表单(包含按钮)的范围。
.HTML
<div id="activitytag">
<h3>Activity Tags</h3>
<a class="addActivityTag button blue">+</a> <a class="removeActivityTag button blue">-</a>
<form id="tag-form" class="tag-form" onreset="clearAll()">
<input type="checkbox" class="checkbox nounderscore" name="tfcheck">
<select class="page_type" title="Page Type">
<option value="HPG">HPG – Homepage</option>
<option value="LPG">LPG – Landing Page</option>
<option value="CNT">CNT – Content</option>
<option value="RES">RES – Research</option>
<option value="ENG">ENG – Engagement</option>
<option value="CNV">CNV – Sale Conversion</option>
</select>
<input type="text" class="pagedesc nounderscore" value="Page Description" title="Page Description" onfocus="clickclear(this, 'Page Description')" onblur="clickrecall(this,'Page Description')" />
<input type="text" class="tagstartdate numberinput" value="Tag Start Date" title="Tag Start Date" maxlength="8" onfocus="clickclear(this, 'Tag Start Date')" onblur="clickrecall(this,'Tag Start Date')" />
<span class="tag_span">123</span>
<input type="reset" value="ClearButton" />
</form>
</div>
<div class="dfanames">
<h4>Activity Group</h4>
<span id="activitytaggrouptext"></span>
</div>
JavaScript
function clearAll() {
$(".tag_span").each(function(index,element) {
element.innerHTML="";
});
}
查看实时示例:http://jsfiddle.net/VF2qG/2/
这是我想出的: http://jsfiddle.net/Y2JRJ/
您需要引用$(this)
而不是再次引用tag_span。
$('.tag_span').each(function() {
$(this).html("");
});
如果没有多个.tag_span,那就做
$('.tag_span').empty()
这会删除元素内的内容,但不会从 dom 中删除元素
相关文章:
- 如何在未直接触发的情况下停止事件
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 在不使用jquery的情况下查找页面中的所有锚点并附加函数
- 在不打开聊天屏幕的情况下制作Zopim-ding代理
- 在不阻止默认行为的情况下检测IE10中的缩放
- 如何在不传递此信息的情况下查找被调用的元素
- 如何在不刷新页面的情况下更新显示框
- 有没有一种方法可以在控制台关闭的情况下让console.log()在IE中记录消息
- JavaScript-在手机上不工作的情况下,在外部单击时隐藏元素
- 在我的情况下,如何进行http请求
- 如何在不隐藏键盘的情况下清除输入搜索?(手机)
- 挖空:在不清除视图模型中的值的情况下更改选择列表中的选项
- 画布绘制 - 在不清除旧状态的情况下更改旋转轴
- 在不重新加载页面的情况下清除值
- 如何在不知道其ID的情况下清除所有setInterval()和setTimeOut()
- 在不重新加载页面的情况下清除#
- Ajax:在GET请求的情况下,页面将被清除
- 如何在不丢失事件侦听器和展开属性的情况下清除文件输入
- 如何在不影响php中任何其他函数的情况下清除先前返回的结果?
- 如何在不刷新页面的情况下清除传单绘制工具创建的先前图层?