一个页面包含多个单选按钮值,只有一个选项,这个正确的选择选项隐藏在页面中
单选按钮以结构
的形式出现<form name="bloogs" action="/myaddres.php" id="bloogs" method="post" >
然后隐藏字段为
<input type=hidden value="abcd" name="ans">
然后所有的单选按钮值都是
<input type="radio" id="r1" name="opt" value="abcd"> abcd
<input type="radio" id="r2" name="opt" value="efgh"> efgh
<input type="radio" id="r3" name="opt" value="ijkl"> ijkl
等等
因此我需要在页面加载后立即“检查”值为= abcd的按钮。感谢
答案 0 :(得分:2)
您可以使用以下方法:
1 您可以通过这样放置selected="selected"
来预先选择它:
<input type="radio" id="r1" name="opt" value="abcd" checked="checked" /> abcd
2 您可以使用 jQuery 轻松完成(我不知道它是否适用于greasmonky)
$(function(){
$('input[value="abcd"]').attr('checked', 'checked');
});
3 您可以遍历所有元素并选择带有原始javascript的元素
var form = document.getElementById('bloogs');
for(var i=0; i<form.elements.length; i++)
{
if (form.elements[i].type == 'radio')
{
if (form.elements[i].value == 'abcd')
{
form.elements[i].setAttribute('checked', 'checked');
break;
}
}
}
<强>更新强>
这使用jquery并在从隐藏字段中读取值后选择一个无线电:
$(function(){
$('input[value="' + $('#hidden_field_id').val() + '"]').attr('checked', 'checked');
});
或使用原始javascript:
var form = document.getElementById('bloogs');
var hidden_value = document.getElementById('hidden_field_id').value;
for(var i=0; i<form.elements.length; i++)
{
if (form.elements[i].type == 'radio')
{
if (form.elements[i].value == hidden_value)
{
form.elements[i].setAttribute('checked', 'checked');
break;
}
}
}
更新2:
根据名称,您可以采用以下方式:
$(function(){
$('input[value="' + $('input[name="ans"]').val() + '"]').attr('checked', 'checked');
});
答案 1 :(得分:0)
我没有做过油脂,但这可能会有所帮助:
使用jQuery并执行
$('[value="abcd"]').click()
祝你好运。
答案 2 :(得分:0)
如果您正在尝试使用GreaseMonkey的jQuery,那么您将不得不擅长编写延迟和尝试/重试类型代码。你需要从这样的事情开始:
var _s1 = document.createElement('script');
_s1.src = 'http://www.ghostdev.com/jslib/jquery-1.3.2.js';
_s1.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(_s1);
将jQuery加载到您的页面中。接下来,您设置了类似的操作:
function dojQueryStuff() {
if (jQuery == undefined) {
setTimeout(dojQueryStuff, 1000);
} else {
// In here is where all of my code goes that uses jQuery.
}
}
dojQueryStuff();
你已经定义了一个函数,它将检查jQuery的存在,如果它没有找到它,请在1秒后重试。这给脚本加载时间。请注意,如果您不使用自己的jQuery副本,我的示例中列出的副本不提供$变量。在脚本的末尾,我有var $j = jQuery.noConflict();
,因此您将通过$j
或jQuery
访问jQuery功能。