单击单选按钮时,如何使用jquery从表单中获取值?
我尝试在单击单选按钮时提醒用户名,但是,当单击单选按钮时,第一个用户名始终会提醒,而不是关联的用户名 结果应如下所示: 杰克445 -如果单击用户单选按钮,则发出警报“Jack445” Doe445 -如果单击用户单选按钮,则发出警报“Doe445” 约翰445 -如果单击用户单选按钮,则发出警报“John445” - 然而,我得到的结果如下: 杰克445 -如果单击用户单选按钮,则发出警报“Jack445” Doe445 -如果单击用户单选按钮,则发出警报“Jack445” 约翰445 -如果单击用户单选按钮,则发出警报“Jack445”单击单选按钮时,如何使用jquery从表单中获取值?,jquery,Jquery,我尝试在单击单选按钮时提醒用户名,但是,当单击单选按钮时,第一个用户名始终会提醒,而不是关联的用户名 结果应如下所示: 杰克445 -如果单击用户单选按钮,则发出警报“Jack445” Doe445 -如果单击用户单选按钮,则发出警报“Doe445” 约翰445 -如果单击用户单选按钮,则发出警报“John445” - 然而,我得到的结果如下: 杰克445 -如果单击用户单选按钮,则发出警报“Jack445” Doe445 -如果单击用户单选按钮,则发出警报“Jack445” 约翰445 -如果
$('.star\u form>.star\u rating')。每个(函数(){
$(此)。单击(函数(){
警报($(this.parent().children().closest('.rated_username').val());
});
});代码>
.stars{
背景:#ccc;
填充:3倍;
边界半径:3px;
边框:1px实心#ccc;
边缘底部:20px;
}
.stars.username{
边缘底部:10px;
字体大小:24px;
字体系列:Tahoma;
}
杰克445
5.
4.
3.
2.
1.
Doe445
5.
4.
3.
2.
1.
约翰445
5.
4.
3.
2.
1.
Fix
ID必须是唯一的
修复-所有无线电ID加上一些div现在都有唯一的ID
一组单选按钮应共享相同的[name]
属性,以便它们具有互斥关系。不要在无线组之间共享相同的[name]
。为每个无线组分配一个唯一的[name]
属性以共享
Fix-为每个无线电组提供一个唯一的[名称]
使用一个
。
将收集具有[name]
属性的所有表单控件的值。共享[name]
的单选组将仅具有所选单选按钮的值
修复-删除所有的
并将一个
包裹在所有东西周围
奖金-提交后,
将表单数据发送到实时测试服务器。响应将显示在下面的
中
jQuery逐行:
表格#星号
将更改
事件委托给每个:收音机
$('#starRating').on('change', ':radio', function(e) {
- 获取更改的
:收音机“
的值
var rating = $(this).val();
- 记录值(顺便说一句,使用
控制台不要使用警报()
- 查找已更改的
:radio
同级元素和类.rated_username
,并将其值存储在变量中
var user = $(this).siblings('.rated_username').val();
- 我重复不要使用alert()使用
console.log
或console.dir
console.log(user);
});
注意:下面的演示是一些参考资料
演示
$(“#starting”)。打开('change',':radio',函数(e){
var评级=$(this.val();
控制台日志(额定值);
var user=$(this.sibbines('.rated_username').val();
console.log(用户);
});代码>
.stars{
背景:#ccc;
填充:3倍;
边界半径:3px;
边框:1px实心#ccc;
边缘底部:20px;
}
.stars.username{
边缘底部:10px;
字体大小:24px;
字体系列:Tahoma;
}
[类型=提交]{
浮动:对;
字体:继承
}
/*仅供演示*/
.作为控制台包装{
最大高度:240px;
最大宽度:180像素;
转换:转换(250px,-100px);
颜色:番茄;
}
杰克445
5.
4.
3.
2.
1.
Doe445
5.
4.
3.
2.
1.
约翰445
5.
4.
3.
2.
1.
你就快到了div
没有值。它们包含文本
$('.star\u form>.star\u rating')。每个(函数(){
$(此)。单击(函数(){
警报($(this.parent().parent().closest('div').find('.username').text());
});
});代码>
.stars{
背景:#ccc;
填充:3倍;
边界半径:3px;
边框:1px实心#ccc;
边缘底部:20px;
}
.stars.username{
边缘底部:10px;
字体大小:24px;
字体系列:Tahoma;
}
杰克445
5.
4.
3.
2.
1.
Doe445
5.
4.
3.
2.
1.
约翰445
5.
4.
3.
2.
1.
请仔细阅读,并提供一个重现您的问题的解决方案。它正在工作,出了什么问题?您正在使用IE吗?在Chrome中它是有效的。@zer00ne我在使用Chrome,我一直得到第一个用户名,你不能有重复的ID。更改id模式例如。id=“starA-1”
下一个组可以是id=“starB-1”
等。发生的情况是浏览器将在找到第一个id时停止,并且不会继续,因为它认为只有一个id,因为id是唯一的。这种行为是有保证的,因为它是由开发人员来确保一个id永远不会被复制。我知道放置所有东西都是一个表单
console.log(user);
});