尝试将jquery变量传递到查询字符串中
我有两个单选按钮,希望获取选中值,然后传递到url查询字符串: 这是html尝试将jquery变量传递到查询字符串中,jquery,html,radio-button,Jquery,Html,Radio Button,我有两个单选按钮,希望获取选中值,然后传递到url查询字符串: 这是html <h3>Please select an audience</h3> <p><input class="age" type="radio" name="ageLimit" value="allAge"/> All ages </p> <p><input class="age" type="radio" name="ageLimit"
<h3>Please select an audience</h3>
<p><input class="age" type="radio" name="ageLimit" value="allAge"/> All ages </p>
<p><input class="age" type="radio" name="ageLimit" value="mature"/> Mature</p>
当我使用它时,它只拉第一个变量
url : 'upload.php?aud='+$('input[name="ageLimit"]:checked', '#myForm').val(),
如何将选中的变量传递到查询字符串中?我已经研究了几个类似的问题,但是没有任何东西会处理查询字符串使用jQuery将表单压缩为查询字符串:
$('#myForm').serialize()
或
当您将jQuery对象转换为字符串时,得到的就是字符串,
[object object]
。第一个示例设置表单元素的值,然后返回jQuery对象,以便可以在其上链接其他方法
第二次尝试时,使用val()
,返回您要查找的值。如果要获得多个值,必须选择元素,然后将它们映射到它们的值,然后加入结果数组。但你不应该这样做。您应该使用序列化
来完成此操作。使用jQuery将表单压缩为查询字符串:
$('#myForm').serialize()
或
当您将jQuery对象转换为字符串时,得到的就是字符串,
[object object]
。第一个示例设置表单元素的值,然后返回jQuery对象,以便可以在其上链接其他方法
第二次尝试时,使用
val()
,返回您要查找的值。如果要获得多个值,必须选择元素,然后将它们映射到它们的值,然后加入结果数组。但你不应该这样做。您应该使用serialize
为您执行此操作。上面的快照序列化。我个人喜欢ajaxForm插件()
如果您的目标是将所选的无线电值输入url,那么在JSFIDLE上使用它(下面的链接)
请选择观众
各个年龄段
成熟的
考验我
$('#testMe')。单击(函数(e){
e、 预防默认值();
var url='upload.php?aud='+$('input[name=ageLimit]:checked').val();
警报(url);
});
捕捉到上面的序列。我个人喜欢ajaxForm插件()
如果您的目标是将所选的无线电值输入url,那么在JSFIDLE上使用它(下面的链接)
请选择观众
各个年龄段
成熟的
考验我
$('#testMe')。单击(函数(e){
e、 预防默认值();
var url='upload.php?aud='+$('input[name=ageLimit]:checked').val();
警报(url);
});
原来我的问题完全是在其他地方,上传者需要评估/传递单选按钮。哎呀。谢谢你的帮助
以下是链接:
原来我的问题完全是在其他地方,上传者需要评估/传递单选按钮。哎呀。谢谢你的帮助 以下是链接:
我看不到你的JS;你能更新这个吗?请参阅文档以了解更多信息。它需要一个字符串作为参数,而不是jquery对象。。您正在设置值。。在提取第一个变量的第二个实例中,您将获得值。。jQuery val()方法可用于设置和获取值——我看不到您的JS;你能更新这个吗?请参阅文档以了解更多信息。它需要一个字符串作为参数,而不是jquery对象。。您正在设置值。。在提取第一个变量的第二个实例中,您将获得值。。jQuery val()方法可以用来设置和获取一个值——我确信这是一个很棒的解决方案,但我对jQuery完全是c&p。我把这个放在哪里?目前,我得到的
未定义
正是您现有代码所在的位置url:'upload.php?aud='+$('input…','#myForm')。serialize()
。现在我从url:'upload.php?aud='+$('input[name=“ageLimit”]:checked','#myForm')。serialize(),
我还需要val()
吗?谢谢您的耐心。没有,但是如果您的选项未被选中或被禁用,它们将序列化到“
”。你可能也没有选择你认为你是的元素。我只是检查了一下选项是否被禁用了。您能想出serialize()在这里可能不起作用的任何其他原因吗if(!$('.age:radio').is(':disabled'){alert('.age:radio'));}if($('.age:radio').is(':disabled'){alert('.age:radio'));}
。我把这个放在哪里?目前,我得到的未定义
正是您现有代码所在的位置url:'upload.php?aud='+$('input…','#myForm')。serialize()
。现在我从url:'upload.php?aud='+$('input[name=“ageLimit”]:checked','#myForm')。serialize(),
我还需要val()
吗?谢谢您的耐心。没有,但是如果您的选项未被选中或被禁用,它们将序列化到“
”。你可能也没有选择你认为你是的元素。我只是检查了一下选项是否被禁用了。您能想出serialize()在这里可能不起作用的任何其他原因吗if(!$('.age:radio').is(':disabled'){alert('.age:radio'));}if($('.age:radio').is(':disabled'){alert('.age:radio'));}
test按钮说我得到了正确的值,但当我这样做时,我得到了一个未定义的值。为什么会这样url:'upload.php?aud='+$('input[name=ageLimit]:checked').val(),
test按钮说我得到了正确的值,但当我这样做时,我得到了一个未定义的值。为什么会这样<代码>url:'upload.php?aud='+$('input[name=ageLimit]:checked').val(),
$('input[name="ageLimit"]:checked', '#myForm').serialize()
<h3>Please select an audience</h3>
<form>
<p><input class="age" type="radio" name="ageLimit" value="allAge"/> All ages </p>
<p><input class="age" type="radio" name="ageLimit" value="mature"/> Mature</p>
</form>
<button id="testMe">Test Me</button>
$('#testMe').click(function(e){
e.preventDefault();
var url = 'upload.php?aud=' + $('input[name=ageLimit]:checked').val();
alert(url);
});
var uploader = $('#uploader').plupload('getUploader');
uploader.bind('BeforeUpload',function(upldr,file){
upldr.settings.url = 'upload.php?aud=' + $('input[name="ageLimit"]:checked', '#myForm').val();
// here some runtimes might need a upldr.refresh(); (Though I'm not sure, I guess I remember Flash would.)
}
);