0

セクションごとに整理された多数のチェックボックスを備えたカスタム CRM フォームに取り組んでいます。フォームに「すべて選択」機能を実装したいと考えており、JavaScript のフォーマット方法を理解しようとしています。これまでの私の調査では、FOR ステートメントを使用して、処理したいセクション内のすべての要素を繰り返し処理し、それに応じて値を設定する可能性が示されましたが、どの document.getElements ... メソッドを使用するかはわかりません。

上記のFOR反復に関連する既存のSOの質問は次のとおりです。

javascriptで特定のHTMLタグのすべての要素を取得するにはどうすればよいですか?

その方法を使用して、自分のフィールドで参照する必要があるタグ名がわからない。タイプはBITですが、タグ名と同じですか?エンティティのカスタマイズ ファイルをエクスポートし、フィールド グループのクラス ID にアクセスできます。そのデータを渡す方法はありますか?

4

3 に答える 3

0

CRMフォームで、「すべて選択」チェックボックスの変更プロパティを選択し、変更時のメソッドに次を追加します

crmForm.all.[one of my checkboxen].DataValue = crmform.all.[my select all box].DataValue;

[私のチェックボックスの 1 つ] をチェックボックスの名前 (おそらく new_something) に置き換え、[すべての選択ボックス] をすべての選択ボックスの名前に置き換えます。

制御するチェックボックスごとに 1 行追加します。

チェックボックスを追加または削除するたびにコードを更新し続ける必要があるため、これは理想的なソリューションではありませんが、機能するという利点があります。

于 2012-10-10T16:06:42.477 に答える
0

私はそれを考え出した; JavaScript を介して DOM を利用することで、フォーム セクションのチェックボックス項目を繰り返し処理することができました。

var section = document.getElementById("{5d86cfd1-4612-e211-8c63-0015c5f7fc75}");
var fields = section.getElementsByTagName("input");

if (crmForm.all.tmi_selectallwtm.DataValue == true) {
    for (i = 0; i < fields.length; i++) {
        if (fields[i].className == "ms-crm-CheckBox") {
            fields[i].DataValue = true;
        }//end IF
        else {}

    }//end FOR
}//end IF
else {
    for (i = 0; i < fields.length; i++) {
        if (fields[i].className == "ms-crm-CheckBox") {
            fields[i].DataValue = false;
        }//end IF
        else {}
    }//end FOR
}//end ELSE
于 2012-10-11T14:36:49.937 に答える
0
var section = document.getElementById('a');
var fields = section.getElementsByTagName("input");


    for (i = 0; i < fields.length; i++) {

            fields[i].checked= true;


    }
于 2012-10-24T10:25:07.233 に答える