私はウェブ開発を学んでおり、私は1つの問題にぶつかってきました。フォームに4つのチェックボックスがあり、チェックボックスの状態をキャプチャする必要があります。また、チェックされたチェックボックスidをRESTサービスに送信する必要があります。ここで、チェックされたチェックボックスごとに異なる操作を実行する必要があります。チェックボックス入力をキャプチャする方法
以下は私が今まで行ってきたものです。私は上記のやっていること
<!DOCTYPE html>
<html>
<body>
<form>
<input type="checkbox" class = "checkBoxProp" id = "1" name="checkBoxProp" value="1">Graph1<br>
<input type="checkbox" class = "checkBoxProp" id = "2" name="checkBoxProp" value="2">Graph2<br>
<input type="checkbox" class = "checkBoxProp" id = "3" name="checkBoxProp" value="3">Graph3<br>
<input type="checkbox" class = "checkBoxProp" id = "4" name="checkBoxProp" value="4">Graph4<br>
<input id="btnGetResponse" type="button" value="ClickMe!"/>
</form>
<div> </div>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$("#btnGetResponse").click(function()
{
var ids = []; // empty array
$('.checkBoxProp:checked').each(function() {
ids.push($(this).val()); // returning the value of the current element of all the elements selected
});
console.log(JSON.stringify(ids.join()));
$.ajax({
type: "POST",
url: "http://localhost:51349/SMS_Rest.svc/v1/usercheckboxes",
data: JSON.stringify(ids.join()) ,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(response)
{
sessionStorage.setItem(1, response);
window.location.href = "../backbonetest/dashboardUI.html";
},
failure: function(response)
{
alert('fail');
}
});
})
まず、すべての確認のチェックボックスを選択し、配列にそれらをプッシュして、完全な文字列に変換するjoin()
を使用して、JSONして送信にそれを変換しています。
たとえば、最初と3番目のチェックボックスをオンにした場合、送信される値は の"1,3"
のRest Serviceになります。チェックボックスのデータは文字列形式で送信されているので、RESTサービスではこの文字列を解析/分割してから(,)
を実行して必要な処理を実行する必要があります。 RESTですべて私は何かをしたいです
if (firstcheckbox selected) // do something
if(secondcheckbox selected)// do something
質問:私は事を複雑にしていません。すべてのチェックボックスを配列に入れる必要がありますか?はいの場合でもjoin()
を使用して文字列化して残りのサービスに送信する必要があります。チェックしたすべてのチェックボックスIDを取得するために、RESTサービスで送信された文字列を解析/分割する必要がない方法を見つけることはできますか?私はこのすべてに新しいです。私を案内してください。あなたはcontentType
"application/json; charset=utf-8"
として、stringify
する必要はありませんコンテンツを定義しているとchecked
チェックボックスを取得する
を指定
key
data
のオブジェクトを持っています。したがって、ここでは2と4の値の鍵は何ですか。私は初心者です。 – Unbreakable@ Unbreakable - データオブジェクト '{ ids:ids } 'では、idsが鍵です。 – Rayon
最後の疑問が1つあります。これをRESTで捕捉する方法。マップのデータ型は何か。それは地図ですか? –
Unbreakable