Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery当我更改非默认项的下拉值时,如何清除输入的数据?_Jquery_Jquery Ui_Jquery Plugins - Fatal编程技术网

Jquery当我更改非默认项的下拉值时,如何清除输入的数据?

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

在这里,我有一个下拉列表,其中有3个值,如0、1、2和5个文本框

当我更改下拉值时,从信用卡更改为购买卡或从购买卡更改为信用卡时,我只需要清除输入的数据。不适用于0到1或0到2

增加更多:

我有3个下拉值,分别为0、1和3。还有5个文本框。默认情况下,下拉值为0,现在我输入该文本框的数据,并将下拉值0更改为1或2。这一次不应该再发生了,这些文本框的值不会有任何变化。如果我选择从1到2或从2到1的下拉值,那么这个时间数据应该是清晰的


有人需要帮忙吗?

我已经更新了你的小提琴:

我所做的是清除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!=这是没有条件的。我的回答是针对你最初的问题。我的更改满足您当前的请求。