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