编辑:将更具体的要求见底部添加:
我正在尝试隐藏一个链接(格式化为href的按钮),但我尝试根据选项下拉菜单中找到的文本进行操作。
所以例如
<form id="phonetypeform">
<select name="porting-p1" class="dropdown">
<option value="">Please select an option...</option>
<option value="1">I want to keep my current phone number</option>
<option value="2">I want to choose a new number</option>
</select>
</form>
<a href="#" class="nextbutton">Next Step</a>
如果选择了“请选择一个选项”,它会隐藏一个链接,如果选择了其他任何内容,则会显示该链接
这是我有的jquery无法正常工作
$(document).ready(function() {
$("a.nextbutton").hide()
$('.dropdown').change(function() {
if($('.dropdown option:contains'Please)') {
$('a.nextbutton',this).hide();
} else {
$("a.nextbutton")show();
}
});
});
感谢所有给我一些答案的人,但是我现在有所作为,但它不理想,理想情况下想使用包含,简单的原因是我有大约20个这些脚本我必须创建和瞄准价值,丑陋!
显示我的确切要求请看小提琴,虽然这是有效的,因为我说我有很多这些脚本到位,理想情况下我想: 1.定位文本'select ...' 2.让它保持隐藏状态,直到所有选项都不再包含“选择...”(包含应该处理该权利)
这是一个让任何可以帮助的人生活更轻松的小提琴? http://jsfiddle.net/p3ewE/
结束编辑
答案 0 :(得分:1)
请改为尝试:
$("a.nextbutton").hide();
$('.dropdown').change(function () {
if ($('.dropdown').val() == "") {
$('a.nextbutton', this).hide();
} else {
$("a.nextbutton").show();
}
});
<强> jsFiddle example 强>
您遇到了一些缺少句号和括号的语法问题。
答案 1 :(得分:0)
错字
if($('.dropdown option:contains(Please)')
^ ^
使用此代码
$('.dropdown').change(function () {
if (this.value == "") {
$('a.nextbutton').hide();
} else {
$("a.nextbutton").show();
}
}).change();
答案 2 :(得分:0)
以下是链接http://jsfiddle.net/XXDwr/5/
看看它。
$(document).ready(function() {
$(".nextbutton").hide();
$('.dropdown').on('change',function() {
var h= $('.dropdown').val();
if(h=="")
{
$(".nextbutton").hide();
}
else{
$(".nextbutton").show();
}
});
});
我希望你能实现这个目标。
答案 3 :(得分:0)
$(document).ready(function() {
var btnNext = $("a.nextbutton").hide();
$('.dropdown').change(function() {
if(this.value){
btnNext.show();
} else {
btnNext.hide();
}
});
});
你在“请”之前就有一个拼写错误。 您可以/应该将按钮保存在变量中,这样您就不必每次都进行该查询。