簡體   English   中英

jQuery檢查多個選擇值

[英]JQuery check multiple Selects value

我在一頁上有許多HTML選擇,如下所示:

<div>
<h3>Ethnicity</h3>
<select>
   <option value="select">Select</option>
   <option value="african">African</option>
   <option value="africanamerican">African American</option>
   <option value="asian">Asian</option>
</select>
</div>

我想使用Jquery檢查每個選擇,以確保初始值“選擇”已更改-例如:已選擇另一個選項。 如果沒有更改,我想更改選擇的顏色。

我已經嘗試了以下Jquery,但功能不完整:

    if($('select').val() == 'select') {
        alert('got one...');
        $(this).css({'color' : 'red'});
    }

注意:該頁面大約有25個選擇,而我嘗試讓一個jquery覆蓋所有內容。

您可以使用更改事件處理程序並檢查選定的值:
檢查下面的代碼段

  $('select').on('change', function() { if ($(this).val() == 'select') { alert('got one...'); $(this).css({ 'color': 'red' }); } else { $(this).css({ 'color': 'initial' }); } }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div> <h3>Ethnicity</h3> <select> <option value="select">Select</option> <option value="african">African</option> <option value="africanamerican">African American</option> <option value="asian">Asian</option> </select> </div> 

您必須自己迭代元素。 幸運的是,這非常簡單,並且對代碼的更改很小:

$('select').each(function() {
  var $this = $(this);
  if($this.val() == 'select') {
    // probably shouldn't alert here...
    // alert('got one...');
    $this.css({'color' : 'red'});
  }
}

如果需要檢查所有選擇,則必須測試一個或多個是否為“未選中”。 為此,您可以執行以下操作:

 $(function () { $('#resetBtn').on('click', function(e) { $('select').each(function(index, element) { $(this).css({'color' : 'black'}); }); }); $('#checkBtn').on('click', function(e) { $('select').each(function(index, element) { if (element.selectedIndex == 0) { alert('got one...'); $(this).css({'color' : 'red'}); } }); }); }); 
 <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script> <button id="checkBtn">Check select</button> <button id="resetBtn">Reset select</button> <div> <h3>Ethnicity</h3> <select> <option value="select">Select</option> <option value="african">African</option> <option value="africanamerican">African American</option> <option value="asian">Asian</option> </select> </div> 

看看這個: .val()

$("select").each(function(){
    if($(this).val() == "YourDefaulValue"){
        $(this).css({'color' : 'red'});
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM