我有两个单选按钮,我想获取检查的值,然后传递给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" value="mature"/> Mature</p>
这是js:
当我使用它时,数据库会拉[object,Object]
url : 'upload.php?aud='+$('input[name="ageLimit"]:checked', '#myForm').val($('input:radio[name="ageLimit"]:checked', '#myForm')),
当我使用它时它只会拉出第一个变量
url : 'upload.php?aud='+$('input[name="ageLimit"]:checked', '#myForm').val(),
如何将checked变量传递给查询字符串?我在SO上看过几个类似的问题,但没有什么可以处理查询字符串
答案 0 :(得分:4)
使用jQuery的serialize
将表单压缩为查询字符串:
$('#myForm').serialize()
或
$('input[name="ageLimit"]:checked', '#myForm').serialize()
当您将jQuery对象转换为字符串时,这就是您所获得的[Object object]
。您的第一个示例设置表单元素的值,然后返回jQuery对象,以便您可以链接其他方法。
您的第二次尝试val()
会返回您所追求的值。如果要获取几个值,则必须选择元素,然后map
将它们设置为其值,然后加入生成的数组。但你不应该这样做。您应该使用serialize
为您执行此操作。
答案 1 :(得分:1)
快照以上序列化。我个人喜欢ajaxForm插件(http://malsup.com/jquery/form/)。
如果您的目标是将所选的无线电值转换为网址,则在jsfiddle(下面的链接)上使用它。
<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);
});
答案 2 :(得分:0)
事实证明我的问题完全在其他地方并且上传者需要评估/传递单选按钮。 Gahhhhh。感谢您的帮助! -
这是链接:Why am I getting "undefined" passed to the db? jquery php plupload
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.)
}
);