Javascript 必填字段并选择下拉列表值

Javascript 必填字段并选择下拉列表值,javascript,jquery,html,Javascript,Jquery,Html,基本上,我有两个字段,一个是选择下拉列表,另一个是输入文本框,都是不同的问题 我的问题是,如果我在第一个问题的选择列表中只选择了一个值,那么第二个问题的文本框长度必须为6个字符或数字。否则,在选择列表中选择的其他值在文本框中的长度可以为10个字符 我如何在不使用regex和in的情况下以Javascript形式编写它 我已经写了这个脚本的一部分,但我想看看其他人如何写它。我唯一的问题是让其他值的长度为10个字符 我还想补充一点,第一个问题不需要是一个选择列表。我这样做是为了让html更具表现力和

基本上,我有两个字段,一个是选择下拉列表,另一个是输入文本框,都是不同的问题

我的问题是,如果我在第一个问题的选择列表中只选择了一个值,那么第二个问题的文本框长度必须为6个字符或数字。否则,在选择列表中选择的其他值在文本框中的长度可以为10个字符

我如何在不使用regex和in的情况下以Javascript形式编写它

我已经写了这个脚本的一部分,但我想看看其他人如何写它。我唯一的问题是让其他值的长度为10个字符

我还想补充一点,第一个问题不需要是一个选择列表。我这样做是为了让html更具表现力和组织性

这是我目前的脚本:

function imposeMaxLength(object, limit) { 
   var num = document.getElementById("Number").value;
    if (num == "3") {
    document.getElementById("Type").value  {
    return (object.value.length <= limit);
    }
  }
}
HTML:

请帮忙。

我想你需要这个

<script>
   $('#Number').on('change', function () {
      var value=this.value;
      if(value==1)
        {
            $("#Type").attr('maxlength','6');
        }
      else
        {
            $("#Type").attr('maxlength','10');
        }
   });
</script>

每当Select元素发生更改时,这会将maxlength设置为所需的值。因此,如果选择多个值,则maxlength将更改为10,否则,如果仅选择了1项,则maxlength将为6

<div>
   <select size="1" id="Number" multiple>
   <option disabled>...</option>
   <option value="1">1</option>
   <option value="2">2</option>
   <option value="3">3</option>
   <option value="4">4</option>
   <option value="5">5</option>
   <option value="6">6</option>
   <option value="7">7</option>
   <option value="8">8</option>
   </select>
</div>
<div>
    <input type="text" id="Type" />
</div>
<div>
<input type="button" value="submit"/>

u可以简单地使用属性maxlength:

html

js


我很乐意提供帮助,但不理解您的问题,您是否试图根据选择输入的数字设置文本输入的最大字符长度?@faithfulprogrammer是的,完全正确。当您选择数字3时,文本输入应为6个字符,其他包含字母的字符应为10个字符。根据上面的@user3463017注释,除了将1更改为3之外,我也会这样回答。
<div>
   <select size="1" id="Number" multiple>
   <option disabled>...</option>
   <option value="1">1</option>
   <option value="2">2</option>
   <option value="3">3</option>
   <option value="4">4</option>
   <option value="5">5</option>
   <option value="6">6</option>
   <option value="7">7</option>
   <option value="8">8</option>
   </select>
</div>
<div>
    <input type="text" id="Type" />
</div>
<div>
<input type="button" value="submit"/>
$("#Number").on('change', function() {
  var selects = $(this).find('option:selected');
  if(selects.length > 1) {
    $("#Type").attr('maxlength', 10);
  } else {
    $("#Type").attr('maxlength', 6);
  }
});
<input type="text" id="Type" maxlength="1"/><!-- default value in select -->

<select onchange="imposeMaxLength(this.value);">
<script>
    function imposeMaxLength(max) {
      document.getElementById("Type").maxlength = max;
    }
</script>