【问题标题】:Toggle a Function Jquery [duplicate]切换函数 Jquery [重复]
【发布时间】:2014-01-11 01:48:36
【问题描述】:

我想将显示/隐藏值切换到我的按钮,尝试了很多但没有任何效果。这是我的意思。提前致谢。

function SLIDE_HIDE(SLIDEID){
    $("#"+SLIDEID).prop('value', 'HIDE');
    $("#"+SLIDEID).prop('value', 'SHOW');
}

HTML/PHP 代码

<input id=\"$OPID\" onclick='SLIDE_HIDE($OPID);' class=\"slidehide\" type=\"button\" value=\"HIDE\" > 

【问题讨论】:

  • 这只是我的例子兄弟,一个伪

标签: php jquery html css ajax


【解决方案1】:

如果您要求的是如何使用您提供的代码来回切换,那么请执行以下操作:

function SLIDE_HIDE(SLIDEID)
{
    if ($('#' + SLIDEID).prop('value').toUpperCase() == "SHOW") {
        $("#"+SLIDEID).prop('value', 'HIDE');
    } else {
        $("#"+SLIDEID).prop('value', 'SHOW');
    }
}

如果您正在寻找一种方法来做到这一点,因为 .prop 实际上并没有设置按钮值:

您尝试过 .attr 还是 .val?

不太确定您想通过这个问题做什么,但以下任一方法都可能有效。此外,这可能很明显,但您不能像在示例中那样将两行背靠背运行,否则它将始终以“SHOW”结尾。

$("#"+SLIDEID).attr('value','show');
// or
$("#"+SLIDEID).val('show');

当然

$("#"+SLIDEID).attr('value','hide');
// or
$("#"+SLIDEID).val('hide');

【讨论】:

    【解决方案2】:

    您的函数不会检查旧值。尝试在函数中运行 if/else 语句来检查当前值并将其设置为相反的值。示例:如果它的值为“HIDE”,则将其设置为“SHOW”。如果它的值为“SHOW”,则将其设置为“HIDE”。

    【讨论】:

      【解决方案3】:

      试试这个:

      $("#"+SLIDEID).val(function(i,oldVal) {
          return oldVal === "HIDE" ? "SHOW" : "HIDE";
      });
      

      演示:http://jsfiddle.net/Q5SBj/2/

      请注意,如果您的 PHP 变量 $OPID 是一个字符串,那么您需要在传递它时将其放在引号中,如下所示:onclick='SLIDE_HIDE(\"$OPID\");'

      .val() method 接受一个函数作为参数,其中 jQuery 将调用该函数并传递元素的旧值,然后将值设置为从函数返回的任何值。

      请注意,如果您的元素可以被 "slidehide" 类选择,您可以删除内联 onclick="..." 属性并使用 jQuery 分配处理程序:

      $(document).ready(function() {
          $(".slidehide").click(function() {
              $(this).val(function(i,oldVal) {
                 return oldVal === "HIDE" ? "SHOW" : "HIDE";
              });
          });
      });
      

      演示:http://jsfiddle.net/Q5SBj/

      (如果您在正文末尾包含脚本,则不需要文档就绪包装器。)

      【讨论】:

        猜你喜欢
        • 2014-06-28
        • 1970-01-01
        • 1970-01-01
        • 2014-02-11
        • 2023-04-10
        • 1970-01-01
        • 2016-07-17
        • 2017-08-04
        • 1970-01-01
        相关资源
        最近更新 更多