Jquery 选择值的多个条件

Jquery 选择值的多个条件,jquery,Jquery,如果选择的值为“a”或“B”,并且文本框不可见,我需要显示一个文本框,我不想继续插入文本框-我只需要一个。如果选择的选项是其他内容,我需要删除文本框。使用下面的代码,当我选择B时,它将复制文本框,但选择A将删除它 <select id="mySelect"> <option value="A">A</option> <option value="B">B</option> <option value="C"

如果选择的值为“a”或“B”,并且文本框不可见,我需要显示一个文本框,我不想继续插入文本框-我只需要一个。如果选择的选项是其他内容,我需要删除文本框。使用下面的代码,当我选择B时,它将复制文本框,但选择A将删除它

<select id="mySelect">
    <option value="A">A</option>
    <option value="B">B</option>
    <option value="C">C</option>
    <option value="D">D</option>
</select>

$('#mySelect').on('change', funciton() {
   if($(this).val() == 'A' || $(this).val() == 'B' && ('#myTextInput").length < 0 {
       $('input[type="text" id="myTextInput"]).insertAfter('#mySelect');
   } else {
       $('#myTextInput').remove();
    }
)};

这里有一个

关键字是括号/方括号

发件人:

致:

试试这个:

if( 
    ( $(this).val() == 'A' || $(this).val() == 'B') 
    && 
    $('#myTextInput').length < 0
   ) 
 {
 //....//

注意括号和逻辑运算的顺序

您的代码中有许多错误,修复如下:

$('#mySelect').on('change', function() {
   if(($(this).val() == 'A' || $(this).val() == 'B') && $('#myTextInput').length < 0 {
       $('#myTextInput').insertAfter('#mySelect');
   } else {
       $('#myTextInput').remove();
    }
)};

代码中有很多不同的语法和逻辑错误。下面是一个固定版本的片段

您输入的id是myText,但您正在查找myTextInput 您将.on函数的关闭位置放错了 您在“myText”之前忘记了$ 您将函数拼错为function 您正在查找$'myText'。长度<0,这将始终为false,因为当它不存在时,长度将为0。 我想就这些了

你用什么来编写代码?我建议您使用支持javascript的IDE。这将使这些错误中的大多数非常容易发现

$'mySelect'.onchange,函数{ var myTextInput=;
如果$this.val=='A'| |$this.val=='B'&&$'myText.length您的文件中也有一些“意外标记”似乎也无法实现,我添加了一把小提琴-您能看一下吗?谢谢。
if( 
    ( $(this).val() == 'A' || $(this).val() == 'B') 
    && 
    $('#myTextInput').length < 0
   ) 
 {
 //....//
$('#mySelect').on('change', function() {
   if(($(this).val() == 'A' || $(this).val() == 'B') && $('#myTextInput').length < 0 {
       $('#myTextInput').insertAfter('#mySelect');
   } else {
       $('#myTextInput').remove();
    }
)};