Javascript 从单选按钮传递变量
我试图将变量从单选按钮传递到javascript链接中的变量。我无法将变量“testVar”传递到链接,该变量位于for循环中,用于检查checked单选按钮。我被难住了,这是完整的代码:Javascript 从单选按钮传递变量,javascript,html,forms,radio-button,Javascript,Html,Forms,Radio Button,我试图将变量从单选按钮传递到javascript链接中的变量。我无法将变量“testVar”传递到链接,该变量位于for循环中,用于检查checked单选按钮。我被难住了,这是完整的代码: <form> <label>Priority 1</label> <input type="radio" id="priority" name="priorityN" onclick="getResults();" value="prior1" /
<form>
<label>Priority 1</label>
<input type="radio" id="priority" name="priorityN" onclick="getResults();" value="prior1" />
<label>Priority 2</label>
<input type="radio" id="priority" name="priorityN" onclick="getResults();" value="prior2" />
</form>
<br /><br />
<div id="myLink"></div>
<script>
var testVar = '';
function getResults() {
var radios = document.getElementsByName("priorityN");
for (var i = 0; i < radios.length; i++) {
if (radios[i].checked) {
testVar = (radios[i].value);
// alert(radios[i].value);
break;
}
}
}
document.getElementById("myLink").innerHTML = '<a href=\"' + 'www.example.com?pri=' + testVar + '\" onclick=\"$(this).modal({width:880, height:460}).open(); return false;\" >' + 'My Modal Link' + "</a>";
</script>
优先事项1
优先事项2
var testVar='';
函数getResults(){
var radios=document.getElementsByName(“priorityN”);
对于(var i=0;i
I在现代浏览器中,您可以使用querySelector
而忽略循环:
function getResults() {
var checked = document.querySelector('[name="priorityN"]:checked'),
link = document.querySelector('#myLink');
link.innerHTML = '<a href="...'+ checked.value +'">...</a>';
}
函数getResults(){
var checked=document.querySelector('[name=“priorityN”]:checked'),
link=document.querySelector(“#myLink”);
link.innerHTML='';
}
I在现代浏览器中,您可以使用querySelector
而忽略循环:
function getResults() {
var checked = document.querySelector('[name="priorityN"]:checked'),
link = document.querySelector('#myLink');
link.innerHTML = '<a href="...'+ checked.value +'">...</a>';
}
函数getResults(){
var checked=document.querySelector('[name=“priorityN”]:checked'),
link=document.querySelector(“#myLink”);
link.innerHTML='';
}
在我的评论之后,你可以做一些改变
id
属性应该是唯一的。您可以使用类名而不是id
<form>
<label>Priority 1</label>
<input type="radio" class="priority" name="priorityN" onclick="getResults();" value="prior1" />
<label>Priority 2</label>
<input type="radio" class="priority" name="priorityN" onclick="getResults();" value="prior2" />
</form>
id
属性应该是唯一的。您可以使用类名而不是id
<form>
<label>Priority 1</label>
<input type="radio" class="priority" name="priorityN" onclick="getResults();" value="prior1" />
<label>Priority 2</label>
<input type="radio" class="priority" name="priorityN" onclick="getResults();" value="prior2" />
</form>
如果您想在每次按下不同的单选按钮时重新生成链接,则需要将其移动到
getResults
函数中。否则,将使用当前初始值testVar
生成链接,该值是一个空的stringQuestion标记。jQuery?编辑的标记在哪里。我将其放置在getResults函数中“在“for”循环后重新生成链接,但这不起作用。@user1511039,请参阅我回答中的实例。这就是我们所有人都认为您正在尝试的吗?如果您想在每次按下不同的单选按钮时重新生成链接,则需要将其移动到getResults
函数中。否则,将使用当前ini生成链接。”testVar
的tial值,这是一个标记为空的stringQuestion。jQuery在哪里?编辑的标记。我把它放在“for”循环之后的getResults函数中,但没有这样做。@user1511039,请参阅我答案中的实例。我们都认为你在尝试这样做吗?Alexander,很好的解决方案,唯一的问题是我想要在选择单选按钮之前显示一个链接。我将使用一个标记为“编辑所选”的按钮,而不是文本链接“。需要在单击单选按钮之前显示按钮吗?”@user1511039,只需将按钮HTML添加到myLink
div元素中,就像其他任何元素一样。我将在中放置一个图像,当单击单选按钮时,该图像将消失,链接图像将出现。伟大的演示亚历山大,非常感谢。亚历山大,伟大的修复和唯一的问题是,我希望有一个链接之前显示单选按钮被选中。我将使用标记为“编辑选定项”的按钮,而不是文本链接。需要在单击单选按钮之前显示按钮吗?@user1511039,只需将按钮HTML添加到myLink
div元素中,就像其他任何元素一样。我将在中放置一个图像,当单击单选按钮时,该图像将消失,链接图像将出现。伟大的演示亚历山大,非常感谢你。