有很多錯在這裏。一瞥:
Dr
是一個語法錯誤。字符串應該用引號括起來。
- 當頁面加載時,您正在檢查選定的值,而不給用戶實際選擇任何內容的機會。
- 您正在尋找
select
與class="select"
,它不存在於您的HTML中。
- 您還在尋找
div
與id="myselect"
,這也不存在於您的HTML中。
- 沒有.selected()函數。
我嫌疑你意味着更多的東西像下面這樣:
$(document).ready(function(){
var num = 'Dr';
$("select").change(function(){
if($(this).find('option:selected').text()==num){
$(".test1").hide();
}
});
});
注意的變化:
- 在引號包裹
Dr
,因爲它是一個字符串。
- 創建一個
change
事件處理程序,而不是直接檢查HTML的當前狀態。只要目標元素「更改」,該事件處理程序就會被調用。 (其值已由用戶修改。)
- 用
select
替換選擇器,以將頁面上的<select>
表單元素作爲目標。如果您的目標代碼中有更多<select>
元素,那麼您也可以使用您的目標代碼,或以多種方式中的任何一種來識別您的目標元素。
- 一旦調用
change
事件,代碼會查找<select>
中的選定選項並檢查該選項的文本。 (由於value
是一個數字,而不是字符串'Dr'
。)
我叉你CodePen這裏展示。
此外,如果你想重新顯示當另一個選項被選中的元素,你會添加一個else
塊:
if($(this).find('option:selected').text()==num){
$(".test1").hide();
} else {
$(".test1").show();
}
'Dr'應該是一個字符串 – 1252748