1

1つのページに2つのチェックボックスリスト(親と子)があります。両方とも別々の折りたたみ可能なdivにあります。親のdivが折りたたまれたら、jqueryを使用してWebMethodを呼び出し、データベースでクエリを実行し、返されたリストをjsonにシリアル化して、jqueryメソッドに返します。

上記はすべて非常にうまく機能し、期待されるjson文字列を正常に取得できます。

ここで実行したいのは、そのjsonデータに基づいて子チェックボックスリストにデータを入力することです。できれば、テキストと値も設定できるようにしたいと思います(チェックボックスリストのDataTextFieldプロパティとDateValueFieldプロパティ)。

誰かがこれを行う方法の例を提供できますか?

   function RunCentralEffect() {
        $("#ParentDiv").hide('blind', 200);
        var names = [];
        $('#ParentDiv input:checked').each(function () {
            names.push(this.value);
        });
        $.ajax({
            type: "POST",
            url: "BranchReportForm.aspx/MyWebMethod",
            data: "{'args': '" + names + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (msg) {
                alert('Success!');
                //Now what?
            }
        });
    }

ありがとうございました!

4

2 に答える 2

1

ChecbkboxListコントロール、DataValueField、およびDataTextFieldプロパティについて話しているときは、ブラウザーに送信されるHTMLを生成するコードビハインドで処理されるため、jQueryメソッドが認識しないASP.NET抽象化を参照しています。
あなたがしなければならないことは、DOM要素を直接操作することです。コードによって生成される実際のhtmlレイアウトについてもう少し詳しく知らないと、より多くの答えを提供するのは難しいですが、高レベルでは、返されたjsonオブジェクトをループして、新しいチェックボックスとラベルを適切なものに追加する必要がありますdiv。

于 2011-04-08T16:03:42.310 に答える
0

あなたのJavaScriptコードは、DataValueFieldまたはDataTextFieldが何であるかを知りません。

.NetはコントロールをHTMLとしてレンダリングするため、おそらく次のようになります。

<input type="checkbox" name="vehicle" value="Infiniti" /> Infiniti
<input type="checkbox" name="vehicle" value="Pontiac" /> Pontiac 

チェックするかどうかを設定するには:

$('input[name=vehicle]').attr('checked', true);
$('input[name=vehicle]').attr('checked', false);

値を設定するには、.val();を使用できると思います。

$('input[name=vehicle]').val('BMW');
于 2011-04-08T16:14:06.230 に答える