Jquery:隐藏基于包含选项的链接按钮

Jquery: Hide a link button based on contains in option

本文关键字:链接 按钮 选项 于包含 隐藏 Jquery      更新时间:2023-09-26

编辑:将更具体地说明要求,请参阅底部的补充:

我正在尝试隐藏一个链接(格式化为 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. 定位文本"选择..."2.让它保持隐藏状态,直到所有选项都不再包含"选择..."(包含应注意该权利)

这里有一个小提琴,可以让任何可以提供帮助的人的生活更轻松?http://jsfiddle.net/p3ewE/


结束编辑

试试这个:

$("a.nextbutton").hide();
$('.dropdown').change(function () {
    if ($('.dropdown').val() == "") {
        $('a.nextbutton', this).hide();
    } else {
        $("a.nextbutton").show();
    }
});

js小提琴示例

您遇到了一些缺少句点和括号的语法问题。

这里的拼写错误

if($('.dropdown option:contains(Please)') 
                               ^      ^

:包含()

使用此代码

演示

$('.dropdown').change(function () {
    if (this.value == "") {
        $('a.nextbutton').hide();
    } else {
        $("a.nextbutton").show();
    }
}).change();

这是链接 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();
    }
});
});

我希望你想实现这一点。

$(document).ready(function() {
  var btnNext = $("a.nextbutton").hide();
  $('.dropdown').change(function() {
      if(this.value){
          btnNext.show();
      } else {
          btnNext.hide();
      }
  });
});

您在"请"之前有一个错字。您可以/应该将按钮保存在变量中,这样您就不必每次都进行该查询。