Jquery当我更改非默认项的下拉值时,如何清除输入的数据?
在这里,我有一个下拉列表,其中有3个值,如0、1、2和5个文本框 当我更改下拉值时,从信用卡更改为购买卡或从购买卡更改为信用卡时,我只需要清除输入的数据。不适用于0到1或0到2 增加更多: 我有3个下拉值,分别为0、1和3。还有5个文本框。默认情况下,下拉值为0,现在我输入该文本框的数据,并将下拉值0更改为1或2。这一次不应该再发生了,这些文本框的值不会有任何变化。如果我选择从1到2或从2到1的下拉值,那么这个时间数据应该是清晰的Jquery当我更改非默认项的下拉值时,如何清除输入的数据?,jquery,jquery-ui,jquery-plugins,Jquery,Jquery Ui,Jquery Plugins,在这里,我有一个下拉列表,其中有3个值,如0、1、2和5个文本框 当我更改下拉值时,从信用卡更改为购买卡或从购买卡更改为信用卡时,我只需要清除输入的数据。不适用于0到1或0到2 增加更多: 我有3个下拉值,分别为0、1和3。还有5个文本框。默认情况下,下拉值为0,现在我输入该文本框的数据,并将下拉值0更改为1或2。这一次不应该再发生了,这些文本框的值不会有任何变化。如果我选择从1到2或从2到1的下拉值,那么这个时间数据应该是清晰的 有人需要帮忙吗?我已经更新了你的小提琴: 我所做的是清除html
有人需要帮忙吗?我已经更新了你的小提琴: 我所做的是清除html选择更改事件更改时的所有文本框 请看一看。如果您有一个select元素来选择付款类型,您可以在值更改时重置textbox类的值。您可以使用焦点回调来保存以前选择的值。一旦开始进行选择,删除默认选择可能也是一个好主意。为什么任何人都需要选择-选择-作为支付选项
var previous;
$("select").focus(function () {
previous = this.value; // Store the value before change.
}).change(function() {
$("select option[value='-1']").remove(); // Remove default selection.
if(previous != -1) { // If the last value wasn't -1 ('-Select-')
$(".textbox").val(""); // Then clear all textboxes.
}
});
保存以前选择的值,将其与当前选择的值进行比较,如果存在转换2->1或1->2,请清理文本框:
$(function(){
var previousValue = $("select").val();
$('select').change(function() {
var currentValue = $(this).val();
if (previousValue == 2 && currentValue == 1
|| previousValue == 1 && currentValue == 2) {
$("input.textbox").val("");
}
previousValue = currentValue;
});
})
.您需要保存最后一个值以跟踪@Joao建议的更改。您可以使用select元素的属性来存储最后选定的值,而不是使用全局变量。像这样:
$(function(){
$("select").attr('rel', $("select").val());
$('select').change(function() {
previousValue = $("select").attr('rel');
var currentValue = $(this).val();
if (previousValue != 0) {
$("input.textbox").val("");
}
$("select").attr('rel', currentValue);
});
})
您试图实现的确切逻辑还不清楚,但您可以使用$myInput.val清除文本输入中的值;检查你需要像这样的参考ID在哪里?如果将id添加到select referenceID并使用此$'referenceID'.changefunction{$input[type='text'].val;};它将清除您在上的输入change@Gopesh请检查我更新的描述。@pluda我再次更新了代码。此解决方案有效。。但如果他增加更多选项,就不会太多了good@Joao这对我来说很好。谢谢你的帮助。我还有一个场景。这里一切都很好,比如从值1到2或2到1。现在从1到0再到2或者从2到0再到1,这次我也需要清除。这可能吗?你能给出肯定的答案吗?@Sivasentil:添加条件previousValue==1&¤tValue==0 | | previousValue==2&¤tValue==0。但是你在这里说的是,基本上,除了0->*转换之外的所有东西都会被清理干净,对吗?如果是,您只需将条件更改为If previousValue!=这是没有条件的。我的回答是针对你最初的问题。我的更改满足您当前的请求。