【问题标题】:How to click with jQuery in ZK如何在 ZK 中使用 jQuery 点击
【发布时间】:2011-07-22 20:24:47
【问题描述】:

我必须使用 Selenium 来测试一个网站,我必须点击按钮。但是因为是ZK,所以我都是用jQuery来做所有的动作,但是问题是我不能点击按钮。 我还需要检查一个复选框,但 jQuery 没有任何效果。或许你对如何在 ZK 中使用 jQuery 进行点击以及如何勾选复选框有什么想法?

例如:

jq('.z-button-os:eq(0)').click()

不工作。

谢谢!

【问题讨论】:

  • 我从未使用过 ZK,但如果是 Jquery,则必须使用 .trigger('click');用于引发点击事件

标签: jquery checkbox click


【解决方案1】:

我已经得到了一些适合我的作品:

检查最后一个复选框:

jq('input[type=checkbox]:visible:last')[0].click()

点击最后​​一个按钮:

jq('button').filter(':visible').filter(':last')[0].click()

【讨论】:

    【解决方案2】:

    应该是这样的:

    jq('.z-button-os:eq(0)').click(function(){ //observe button click event
      jq('#checkbox-id').attr('checked',true); //check the checkbox
      return false; //prevent <a> tag jumping around
    });
    

    jquery 伪选择器解释:

    在您的第一个示例中,您有 :eq(0) 这意味着您希望查看给定列表中的第一个元素;你也可以使用像:first这样的选择器


    在您的另一个示例中,您有 input[type=checkbox]:visible:last 这意味着您想要查看所有复选框,但只保留最后一个可见的复选框,因此假设您也有一些隐藏的复选框。那么这段代码可以很容易地改写为:$(':checkbox:visible:last').click()


    那么您有jq('button').filter(':visible').filter(':last')[0].click(),实际上与上面的含义完全相同,只是您正在查看按钮而不是复选框,并且可以重写如下:$('button:visible:last').click()


    【讨论】:

    • 感谢您的回复,我会尝试检查这是否适合我:)
    • 我已经通过添加“$”的“jq”来编辑我的答案,并添加了注释解释,尽管您可能想要提供感兴趣的代码部分;因为我看到您使用的是 :visible 和 :last,这意味着您有特殊需求。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-14
    • 1970-01-01
    相关资源
    最近更新 更多