1

私はこのような私のビューにラジオボタンのリストを持っています:

<input type="radio" name="questionOpt[1]" value="Very Satisfied-1-1" />
<input type="radio" name="questionOpt[1]" value="Satisfied-1-2" />
<input type="radio" name="questionOpt[1]"  value="Neutral-1-3" />
<input type="radio" name="questionOpt[1]" value="Dissatisfied-1-4" />
<input type="radio" name="questionOpt[1]" value="Very Dissatisfied-1-5" />

<input type="radio" name="questionOpt[2]" value="Very Satisfied-2-1" />
<input type="radio" name="questionOpt[2]" value="Satisfied-2-2" />
<input type="radio" name="questionOpt[2]"  value="Neutral-2-3" />
<input type="radio" name="questionOpt[2]" value="Dissatisfied-2-4" />
<input type="radio" name="questionOpt[2]" value="Very Dissatisfied-2-5" />

<input type="submit" value="Submit" id="submit" />

ユーザーがラジオボタンを選択したら、ラジオボタンの値を配列に書き込んでから、それをasp.netmvcプロジェクトのコントローラーに渡します。

これは私が試したことです:

<input type="hidden" id="resultSelect" name="resultSelect" value="1,2,3,4,5"/>
<script type="text/javascript">
var clicks = new Array();
$(document).ready(function () {
    for (var i = 1; i <= count_; i++) {
        $("input:radio[name='questionOpt["+i+"]']").click(function () {
            clicks.push($(this).val());
        });
    }
});
$("#submit").click(function () {
    for (var y = 0; y<clicks.length; y++) {
        $("#resultSelect").val(clicks[y]);       
    }
 });

</script>

私はこのようにコントローラーに書き込みます:

  string result= frm["resultSelect"].ToString();

ラジオボタンをクリックしVery Satisfied-1-1Dissatisfied-2-4、それからデバッグすると、文字列だけDissatisfied-2-4になりresultます。

Very Satisfied-1-1ラジオボタンの値を2つ取得し、コントローラーの文字列のDissatisfied-2-4配列として["Very Satisfied-1-1","Dissatisfied-2-4"]取得する方法を教えてもらえますか。result

ありがとう。

4

2 に答える 2

2

試す

$("#submit").click(function ()
{
    var selectedIdsStr = clicks.join(",");
    $("#resultSelect").val(selectedIdsStr);       
});

また、上記のコードを内部にラップしてくださいdocument.ready

于 2013-02-23T06:54:05.850 に答える
1

forループで値を上書きしている場合は、次のserailizeArrayメソッドを使用できます。

フォーム要素のセットを名前と値の配列としてエンコードします。

$("#submit").click(function () {
    var arr = $('input[type=radio]').serializeArray(); 
    $("#resultSelect").val(arr);       
});
于 2013-02-23T06:52:13.697 に答える