我已经看过jquery文档,stackoverflow和其他论坛,但这似乎不起作用。
我在表单中有一个单选按钮,我想获得选择的值。
如果我从表单中删除单选按钮,我可以通过
获取它var first_val = $('input:radio[name=Question0]:checked').val();
但是,如果我将其添加到表单名称=生活方式
任何这些组合都不起作用
我有一个名为生活方式的表格 我已尝试过Chrome中的所有选项,但它似乎无法正常工作
选项1
var first_val = $('#lifestyle input:radio[name=Question0]:checked').val();
alert($('#lifestyle input:radio[name=Question0]:checked').val());
选项2
var first_val = $('form input:radio[name=Question0]:checked').val();
alert($('form input:radio[name=Question0]:checked').val());
选项3
var first_val = $('#lifestyle input:radio[name=Question0]:checked', '#lifestyle').val();
alert($('#lifestyle input:radio[name=Question0]:checked','#lifestyle').val());
等等..
我没有得到价值,警报说未定义。
答案 0 :(得分:2)
“如果我从表单中删除单选按钮,我可以通过”
来获取它var first_val = $('input:radio[name=Question0]:checked').val();
无论输入是否属于某个表单,该选择器都应该有效。如果有多个表单,每个表单都有相同名称的输入,则只需要指定表单。
我希望这可行:
$('form[name="lifestyle"] input:radio[name=Question0]:checked').val()
选项1不起作用,因为您的表单具有名称“生活方式”,但您尝试将 id 选择器格式与“#”一起使用。所以:
//use
"form[name=lifestyle]"
// not
"#lifestyle"
假设您在页面上只有一个表单元素,选项2对我来说很好。
选项3具有相同的问题,“#”选择id而不是名称,但也使用$("selector", context)
语法,你应该提供“一个DOM元素,文档或jQuery用作上下文” (正如here所解释的那样,不是一个字符串,但无论如何提供一个元素作为上下文,然后在其自身内寻找该元素是没有意义的。
答案 1 :(得分:0)
但是,如果我将其添加到表单名称=生活方式
更改选择器
var first_val = $("form[name='lifestyle']").find(":radio[name='Question0']:checked").val();
alert(first_val);
答案 2 :(得分:0)