<form>
// radio group 1
<input type="radio" name="a" value="Y">Yes
<input type="radio" class="ml_10" name="a" value="N">No
<input type="radio" class="ml_10" name="a" value="O">Don't know</br>
// radio group 2
<input type="radio" name="b" value="Y">Yes
<input type="radio" class="ml_10" name="b" value="N">No
<input type="radio" class="ml_10" name="b" value="O">Don't know</br>
// text input
<input type='text' value='something' name="txt" />
</form>
私はこのフォームを持っています。ラジオ グループ 1 で何も選択されていないかのように の値を取得しようとしています (a
他のラジオ グループも同じです)。false
var str = $('form input:not([type="radio"])').serialize();
var str1 = $("form input[type='radio']").map(function () {
return this.name + "=" + this.checked;
}).get().join("&");
if (str1 != "" && str != "") str += "&" + str1;
else str += str1;
出力は次のとおりです。txt=something&a=false&a=false&a=false&b=false&b=false&b=false
ご覧のとおり、グループ内のラジオごとに false になっています。しかしa=false
、何も選択されていない場合にのみ必要です。どうすればこれを達成できますか?
フィドル: http://jsfiddle.net/WcxwV/
編集 :
期待される出力:
txt=something&a=false&b=false