0

以下の投稿依頼があります。他のすべてのフィールドを正常に送信しています。ただし、何を試しても、チェックボックスが表示されません。クリックイベントとアラートでIDをテストしましたが、チェックボックスを確実に参照しています。

$.post("http://" + window.location.host + "/exec_messages_send.php",
{
    receiver : $("#messages_receiver").val(),
    title : $("#messages_title").val(),
    body : $("#wysi_textarea_message_body").val(),
    urgent : $("#messages_urgent").checked
}

これは、php でレンダリングされた html です。

echo "<input type=\"checkbox\" id=\"messages_urgent\"> Mark as <span class=\"label label-important\">Urgent</span>";

チェックボックスの値を取得するにはどうすればよいですか? 私はすでに .val() と .attr('checked') と .checked と他のいくつかの方法を試しました...

4

6 に答える 6

3

使用する -

urgent : $("#messages_urgent")[0].checked

または

urgent : $("#messages_urgent").is(':checked');
于 2013-06-17T12:34:21.897 に答える
0

試してみましたか

$("#messages_urgent").is(':checked').val();

またはあなたは直接好きになることができます

$("#messages_urgent:checked").val();

また、チェックボックスに値を与えます

echo "<input type=\"checkbox\" value=\"my_value\" id=\"messages_urgent\"> Mark as <span class=\"label label-important\">Urgent</span>";
于 2013-06-17T12:33:43.903 に答える
0

ここであなたの問題を理解しているかどうかはわかりませんが、.prop() を使用してください:

urgent : $("#messages_urgent").prop('checked')
于 2013-06-17T12:34:32.783 に答える
0

何らかの方法でフォームをシリアライズしたいと思っていると思います。あなたの例では、JS でフィールドを選択しますが、データの取得元を動的に変更する必要がない限り、フォームを送信するデフォルトの動作を使用することで、同じ結果をはるかに簡単に得ることができます。

name入力要素に属性がないようです。なしの入力nameはデフォルトで無視され、 value のあるチェックボックスも無視されますfalse。ただし、他の回答に示されているように、checked-property を読み取ることで回避できます。

通常、フォームをシリアル化すると、チェックボックスがチェックされていない場合、チェックボックスも無視されます。例えば。チェックされていないチェックボックスの配列をシリアライズするにはどうすればよいですか?

于 2013-06-17T12:37:06.470 に答える
0

$('#messages_urgent').is(':checked')しましょう.. :-)

于 2013-06-17T12:37:49.773 に答える