Javascript 如何根据用户输入更改下拉默认值?
通过代码,您可以看到文本框有5个,下拉列表有5个,我在其中设置了下拉列表的默认值。 pn0,pn1,pn2,pn3,pn4是我的5个下拉框pv0,pv1,pv2,pv3,pv4是我的输入文本框 默认情况下,我设置了pn0--pn5的值 当用户不输入pv0--pv5的数据时,pn0--pn5将与默认值相同 当用户输入pv0值输入文本框时,在提交时pn0值必须更改为相等。剩余的pn1、pn2、pn3、pn4将采用默认值 当用户输入pv0和pv1值时。pn0和pn1必须更改为相等并保留为默认值Javascript 如何根据用户输入更改下拉默认值?,javascript,html,select,option,Javascript,Html,Select,Option,通过代码,您可以看到文本框有5个,下拉列表有5个,我在其中设置了下拉列表的默认值。 pn0,pn1,pn2,pn3,pn4是我的5个下拉框pv0,pv1,pv2,pv3,pv4是我的输入文本框 默认情况下,我设置了pn0--pn5的值 当用户不输入pv0--pv5的数据时,pn0--pn5将与默认值相同 当用户输入pv0值输入文本框时,在提交时pn0值必须更改为相等。剩余的pn1、pn2、pn3、pn4将采用默认值 当用户输入pv0和pv1值时。pn0和pn1必须更改为相等并保留为默认值 如果用
如果用户自己选择了pn0、pn1、pn2、pn3、pn4的选项,则必须采用这些值。您可以根据文本框上的按键事件更改选择列表的值。例如,如果我从您的示例中选取第一对select-textbox:
<form method="get" action="/00ON0000000FOHS" id="teja">
<center>
<B>Quote Num : </B>
<select name="pn0" id="pn0" form="teja">
<option value="eq">equal</option>
<option value="sw" selected="selected">start with</option>
<option value="ne">Not equal to</option>
<option value="lt">Less Than</option>
<option value="le">less or equal</option>
<option value="ge">greater or equal</option>
<option value="gt">greater than</option>
<option value="co">Contains</option>
<option value="nc">does not contain</option>
</select>
<input type="text" name="pv0" id="pv0" />
</center>
<br /><br />
<center>
<b>Opportunity Name : </b>
<select name="pn1" id="pn1" form="teja" >
<option value="eq">equal</option>
<option value="sw">start with</option>
<option value="ne" selected="selected">Not equal to</option>
<option value="lt">Less Than</option>
<option value="le">less or equal</option>
<option value="ge">greater or equal</option>
<option value="gt">greater than</option>
<option value="co">Contains</option>
<option value="nc">does not contain</option>
</select>
<input type="text" name="pv1" id="pv1" />
</center>
<br /><br />
<center>
<b>Account Name : </b>
<select name="pn2" id="pn2" form="teja" >
<option value="eq">equal</option>
<option value="sw">start with</option>
<option value="ne" selected="selected">Not equal to</option>
<option value="lt">Less Than</option>
<option value="le">less or equal</option>
<option value="ge">greater or equal</option>
<option value="gt">greater than</option>
<option value="co">Contains</option>
<option value="nc">does not contain</option>
</select>
<input type="text" name="pv2" id="pv2" />
</center>
<br /><br />
<center>
<b>RFQ Date(DD/MM/YYYY) : </b>
<select name="pn3" id="pn3" form="teja" >
<option value="eq">equal</option>
<option value="sw">start with</option>
<option value="ne" selected="selected">Not equal to</option>
<option value="lt">Less Than</option>
<option value="le">less or equal</option>
<option value="ge">greater or equal</option>
<option value="gt">greater than</option>
<option value="co">Contains</option>
<option value="nc">does not contain</option>
</select>
<input type="text" name="pv3" id="pv3" />
</center>
<br /><br />
<center>
<b>Quote Number : </b>
<select name="pn4" id="pn4" form="teja" >
<option value="eq">equal</option>
<option value="sw" selected="selected">start with</option>
<option value="ne">Not equal to</option>
<option value="lt">Less Than</option>
<option value="le">less or equal</option>
<option value="ge">greater or equal</option>
<option value="gt">greater than</option>
<option value="co">Contains</option>
<option value="nc">does not contain</option>
</select>
<input type="text" name="pv4" id="pv4" />
</center>
<br /><br />
<center><input type="submit" value="Report Generation" class="submit" /></center>
</form>
</html>
请参见此处的演示:您的预期结果是什么?我不清楚这个问题。请用代码解释更多内容。您可以看到文本中有5个文本框和5个下拉列表。我在其中设置了下拉列表的默认值。如果您不在文本框中键入任何内容,则必须使用我提供的默认值。否则,当用户在一个框中输入数据时,当我们单击“提交”按钮剩余的四个框与默认值保持相同。类似于,如果用户输入两个框,则两个选定选项值将显示为equalWelcome to Stack Overflow。目前来看,你的问题很不清楚。请细化您的描述,以更一般的方式仅包括您的具体问题。包括清楚的例子,说明你预期会发生什么,以及目前的结果是什么。而且你应该给你的问题一个标题,它定义了你要问的实际主题。我试图插入图像。它会给出清晰的图片,但它要求10个信誉。谢谢你的回答。如果用户选择pn0的值。它必须接受该值。这个答案正是我所需要的,但如果用户选择pn0,则需要一个附加项值,它必须接受那个值
var defaultOption = $("#pn0").val();
$("#pv0").keypress(function(event) {
if ($(this).val().length != 1 || event.which != 8)
$("#pn0").val("eq");
else
$("#pn0").val(defaultOption);
})