现在,我在两个div标签中存储了两个完整的radiobuttons表单。
我需要能够比较左右div标签中的已检查单选按钮。
现在,我有这个代码来查找右侧和左侧div标签中的选中值;它检查左div标签radiobutton值两次。
$('#btn').click(function() {
$("#right input[type='radio']:checked").each(function() {
var idVal = $(this).attr("id");
var rightcity = ($("label[for='"+idVal+"']").text());
console.log(rightcity);
$('#rightcity').text(rightcity);
});
$("#left input[type='radio']:checked").each(function() {
var idVal = $(this).attr("id");
var leftcity = ($("label[for='"+idVal+"']").text());
console.log(leftcity);
$('#leftcity').text(leftcity);
});
});
如何专门针对正确的div标签值运行此查询?
答案 0 :(得分:1)
1st:如果左/右相同组的无线电。无需循环
第二,你可以试试这个
$('#btn').click(function() {
var rightId = $("#right input[type='radio']:checked").attr("id");
var leftId = $("#left input[type='radio']:checked").attr("id");
var rightcity = $("label[for='"+rightId+"']").text();
var leftcity = $("label[for='"+leftId+"']").text();
console.log(rightcity);
$('#rightcity').text(rightcity);
console.log(leftcity);
$('#leftcity').text(leftcity);
});
也许你不需要获取ID ..如果你的HTML
<label></label>
<input type="radio"/>
你可以直接使用.prev()而不是获取ids
var rightcity = $("#right input[type='radio']:checked").prev('label').text();
var leftcity = $("#left input[type='radio']:checked").prev('label').text();
如果是
<input type="radio"/>
<label></label>
使用.next()
var rightcity = $("#right input[type='radio']:checked").next('label').text();
var leftcity = $("#left input[type='radio']:checked").next('label').text();
和about (能够比较左右div标签中的已检查的radiobuttons)
var rightValue = $("#right input[type='radio']:checked").val();
var leftValue = $("#left input[type='radio']:checked").val();