如何检查是否从HTML下拉列表中选择了某个项目?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何检查是否从HTML下拉列表中选择了某个项目?相关的知识,希望对你有一定的参考价值。

我有一个下拉列表,我无法检查是否从下拉列表中选择了一个值

以下是我的html代码:

<label class="paylabel" for="cardtype">Card Type:</label>
<select id="cardtype" name="cards">
    <option value="selectcard">--- Please select ---</option>
    <option value="mastercard">Mastercard</option>
    <option value="maestro">Maestro</option>
    <option value="solo">Solo (UK only)</option>
    <option value="visaelectron">Visa Electron</option>
    <option value="visadebit">Visa Debit</option>
</select><br/>

以下是我的javascript代码:

var card = document.getElementByName("cards")[0].value;
if (card.value == selectcard) {
    alert("Please select a card type");
}
答案

那么你错过了你的字符串selectcard周围的引号它应该是"selectcard"

if (card.value == selectcard)

应该

if (card.value == "selectcard")

这是完整的代码

function validate()
{
 var ddl = document.getElementById("cardtype");
 var selectedValue = ddl.options[ddl.selectedIndex].value;
    if (selectedValue == "selectcard")
   {
    alert("Please select a card type");
   }
}

JS Fiddle Demo

另一答案
<script>
var card = document.getElementById("cardtype");
if(card.selectedIndex == 0) {
     alert('select one answer');
}
else {
    var selectedText = card.options[card.selectedIndex].text;
    alert(selectedText);
}
</script>
另一答案

您可以使用selectedIndex属性检查所选值的索引是0还是-1。

在您的情况下,0也不是有效的索引值,因为它的“占位符”: <option value="selectcard">--- Please select ---</option>

LIVE DEMO

function Validate()
 {
   var combo = document.getElementById("cardtype");
   if(combo.selectedIndex <=0)
    {
      alert("Please Select Valid Value");
    }
 }
另一答案
function check(selId) {
  var sel = document.getElementById(selId);
  var dropDown_sel = sel.options[sel.selectedIndex].text;
  if (dropDown_sel != "none") {

           state=1;

     //state is a Global variable initially it is set to 0
  } 
}


function checkstatevalue() {
      if (state==1) {
           return 1;
      } 
      return false;
    }

和html是例如

<form name="droptest" onSubmit="return checkstatevalue()">

<select id='Sel1' onchange='check("Sel1");'>
  <option value='junaid'>Junaid</option>
  <option value='none'>none</option>
  <option value='ali'>Ali</option>
</select>

</form>

现在提交表单时,首先检查状态的值是否为0,表示没有选择任何项目。

另一答案
<label class="paylabel" for="cardtype">Card Type:</label>
<select id="cardtype" name="cards">
<option value="selectcard">--- Please select ---</option>
<option value="mastercard" selected="selected">Mastercard</option>
<option value="maestro">Maestro</option>
<option value="solo">Solo (UK only)</option>
<option value="visaelectron">Visa Electron</option>
<option value="visadebit">Visa Debit</option>
</select><br />

<script>
    var card = document.getElementById("cardtype");
    if (card.options[card.selectedIndex].value == 'selectcard') {
          alert("Please select a card type");
          return false;
    }
</script>
另一答案

我相信这是所有方面中最简单的,除非你将validate函数称为其他方法。如果没有/ null /空值,则第一个选项更容易验证。您也可以取消第一个选项,并从最流行的卡片类型开始。

<form name="myForm">
<select id="cardtype" name="cards">
<option value="">--- Please select ---</option>
<option value="mastercard" selected="selected">Mastercard</option>
<option value="maestro">Maestro</option>
<option value="solo">Solo (UK only)</option>
<option value="visaelectron">Visa Electron</option>
<option value="visadebit">Visa Debit</option>
</select><br />

<input type="submit" name="submit" class="button" value="SUBMIT" onmouseover="validate()"></form>

<script>
function validate() {
 if (document.myform.cards.value == "") {
    alert("Please select a card type");
    document.myForm.cards.focus();
}
</script>
另一答案
Select select = new Select(_element);
List<WebElement> selectedOptions = select.getAllSelectedOptions();

if(selectedOptions.size() > 0){
    return true;
}else{
    return false;
}

以上是关于如何检查是否从HTML下拉列表中选择了某个项目?的主要内容,如果未能解决你的问题,请参考以下文章

如何在下拉列表中显示所选项目名称?

如何从下拉列表中选择多个项目并将多个值插入 MYSQL

使用 JQuery 检查值是不是在选择列表中

如何传递从 django 表单操作 url 的下拉列表中选择的项目的 ID?

如何使用 Selenium WebDriver 和 java 从下拉列表中选择一个项目?

如何在本机反应中显示从可搜索下拉列表中选择的项目?