有很多错在这里。一瞥:
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