注入Javascript以选择具有指定值的所有单选按钮

时间:2016-05-15 16:32:07

标签: javascript jquery html

有点奇怪的问题,但我试图找到一种方法(如果可能的话)来选择具有相同值的所有单选按钮。我们经常在我们的网站上注册数百个垃圾邮件帐户,并且可以更容易地将所有单选按钮设置为"拒绝"并仔细检查以确保没有合法的,而不是经常点击单选按钮。 (懒惰是我的中间名,是的。)

这可能吗?如果是这样,怎么样?我还无法访问实际的网页,只需按一下按钮即可完成此操作,但这是我长期关注的内容。但是现在,我需要快速而肮脏的东西去做我想做的事。我使用的是Chrome,如果需要,可以使用Greasemonkey。

要选择的值为"reject"

正在使用的代码片段。如果有任何后果,我们的论坛正在运行Xenforo:

<li>
    <label for="ctrl_users16667action_reject">
        <input type="radio" name="users[16667][action]" value="reject" class="Disabler" id="ctrl_users16667action_reject">
        Reject and delete with rejection reason:
    </label>
    <ul id="ctrl_users16667action_reject_Disabler" class="disablerList">
        <li>
            <input type="text" name="users[16667][reject_reason]" value="" size="45" placeholder="Optional" class="textCtrl" id="ctrl_users16667reject_reason">
        </li>
    </ul>
</li>

4 个答案:

答案 0 :(得分:3)

使用 :radio 获取单选按钮,然后使用 attribute equals selector

进行过滤
var $ele = $(':radio[value="reject"]')

filter()

var $ele = $(':radio').filter(function(){ return this.value == 'reject'; });

仅供参考:它是一个jQuery解决方案,只有在页面中加载jQuery库时才有效。

答案 1 :(得分:3)

您正在寻找bookmarklet或GreaseMonkey(或TamperMonkey或类似)脚本。

重新加上bookmarklet,您可以使用javascript: pseuedo-protocol在书签管理器中查看您正在查看的页面上的脚本。只需在书签中输入网址:

javascript:(function() { /* ...your code here ...*/ })();

因为它必须是URI编码的,你可以在那里找到“bookmarklet generator”来为你处理那部分。

另外,还有GreaseMonkey,TamperMonkey和类似的浏览器附加组件/扩展程序。

然后选择相关的单选按钮是一件小事:

$('input[type=radio][value="reject"]').prop('checked', true);

所以如果 jQuery已经加载到相关页面上,你可以将它用作书签:

javascript:(function(){$('input[type=radio][value="reject"]').prop('checked',true);})();

答案 2 :(得分:-1)

试试这个会起作用

$("input:radio[value=reject]")

答案 3 :(得分:-1)

您必须为所有单选按钮指定唯一名称,然后您可以使用javascript选择多个单选按钮

你必须给同一个班级的单选按钮

   <input type="radio" name="radio[]" class="my_class" value="1" />
   <input type="radio" name="radio[]" class="my_class" value="1" />
   <input type="radio" name="radio[]" class="my_class" value="0" />

   $(".my_class").each(function(){

   if($(this).val() == "1"){
        $(this).attr('checked','checked);
      } 

   });

由于