簡體   English   中英

如何在jQuery的選擇下拉菜單中獲取選項文本

[英]How to get options text in select dropdown in jquery

在這里,我需要從選擇下拉列表中獲取選項文本並執行一些操作。 但是,我不知道我錯過了什么。 我得到兩個選項文本。 這是我嘗試過的。

 $('#sel').change(function(){ alert($(this).val()); temp = $('#sel option:selected').text(); alert("temp value " +temp); if(temp = "Option 1") { alert("Option 1 is selected"); //DO SOME OPERATIONS } if(temp = "Option 2") { alert("Option 2 is selected"); //DO SOME OPERATIONS } }).change(); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <select name="sel" id="sel"> <option value="1">Option 1</option> <option value="2">Option 2</option <option value="3">Option 3</option </select> 

JS菲德爾

js小提琴

$('#sel').change(function(){
    alert($(this).val());
   temp = $('#sel option:selected').text();
   alert("temp value " +temp);
   if(temp == "Option 1")
   {
       alert("Option 1 is selected");
   }
   if(temp == "Option 2")
   {
       alert("Option 2 is selected");
   }
});

您的比較運算符不正確,應該是

temp == "Option 1"

temp = "Option 1"

小提琴

您還應該刪除.change(); 如果您不希望代碼在頁面加載時執行,請在函數末尾顯示。

您在兩個地方缺少>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select name="sel" id="sel">
    <option value="1">Option 1</option>
     <option value="2">Option 2</option> <!-- here -->
      <option value="3">Option 3</option> <!--and here -->
</select>

您已經使用了賦值運算符。 應該是==而不是=

if (temp == "Option 1") {
    alert("Option 1 is selected");
}
if (temp == "Option 2") {
    alert("Option 2 is selected");
}

在這里查看更新的小提琴。

嘗試這樣-

HTML-

<select id='job_title'>
    <option value='' class='job' role=''>- Select -</option>
    <option value='1' class='job1' role='Accountant'>Accountant</option>
    <option value='2' class='job2' role='Dev. Support'>Dev. Support</option>
</select>

<br />
<input type='text' id='catch_value'>

jQuery-

$('#job_title').live('change', function(){
    var m = (this.value);
    var n = $('.job'+m).attr('role');
    $('#catch_value').val(n);
    return false;
});

例如。 - 小提琴鏈接

temp =“選項1”是錯誤的表達式

temp ==“ Option 1”或temp ===“ Option 1”是正確的表達式

見下文

$('#sel').change(function(){
    alert($(this).val());
   temp = $('#sel option:selected').text();
    alert("temp value " +temp);
    if(temp === "Option 1")
{
    alert("Option 1 is selected");
   //DO SOME OPERATIONS
}
 if(temp === "Option 2")
{
    alert("Option 2 is selected");
    //DO SOME OPERATIONS
}
}).change();
$('#sel').change(function(){
    var temp = this[this.selectedIndex].innerHTML;
    if(temp == "Option 1") {
        alert("Option 1 is selected");
    }
    if(temp == "Option 2") {
        alert("Option 2 is selected");
    }
    if(temp == "Option 3") {
        alert("Option 3 is selected");
    }
});

還要將此<option selected disabled>Options:</option>到選擇框中,以使該事件的所有選項可用。

演示版

暫無
暫無

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

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