簡體   English   中英

使用選項文本而不是jQuery中的選項值來觸發選擇框事件

[英]trigger select box event using option text not option value in jquery

// In jquery
$('.check').val('two').trigger('change');
// and html is 
<select class="check">
<option value="one">First</option>
<option value="two">Second</option>
</select>

http://jsfiddle.net/v7QWd/353/我需要使用我的文本值(即jquery中的“ First”)觸發事件。 有什么解決辦法嗎? 在這里,我使用.val('two'),而我希望使用“ First”。

我認為您正在嘗試通過文本選擇選項,如果可以的話,可以使用:contains() -但它可以給出預期的匹配項,因為它將使用部分匹配項

所以嘗試

 $(function() { $('.check').change(function() { var data = $(this).val(); snippet.log('data:' + data) //if you want the selected text var text = $(this).find('option:selected').text(); snippet.log('text:' + text) }); $('.check option').filter(function() { return $(this).text() == 'Second' }).prop('selected', true) $('.check').trigger('change'); }); 
 <!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 --> <script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <select class="check"> <option value="one">First</option> <option value="two">Second</option> </select> 

使用.text()獲取選定的選項文本,並使用.change()最初在加載時觸發

$('.check').change(function(){
  var data= $(this).find("option:selected").text();
  if(data == 'First'){
      // your logic
   }            
}).change();

小提琴

if ($('.check option:selected').text() == "First") {
        $('.check').trigger('change');
    }  

 $(function () { //change to two ? how? $('.check').change(function () { var data = $(this).val(); alert(data); }); if ($('.check option:selected').text() == "First") { $('.check').trigger('change'); } }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <select class="check"> <option value="one">First</option> <option value="two">Second</option> </select> 

暫無
暫無

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

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