3

私はプロジェクトで最初にMVC3、EFモデルを使用しています。

私は4つのテーブルを持つビューを持っておりCustomPickedTable,、ユーザーがそれらの4つのテーブル内の行をクリックするたびに、その行がテーブルに移動しCustomPickedTableます。これはそのコードです。

<script type="text/javascript">
        $(function () {
            $('.questionsForSubjectType tbody tr').click(function () {
                var origin = $(this).closest('table').attr('id');
                $(this)
        .appendTo('#CustomPickedTable tbody')
        .click({ origin: origin }, function (evt) {
            $(this).appendTo('#' + evt.data.origin);
                });
            });
        });
</script>

私が探しているのは、ユーザーが送信ボタンをクリックしたときにCustomPickedTable、フォームを投稿しない場合でも、これら4つのテーブルのそれぞれの少なくとも1つの行を移動する必要があることを確認するルールがあるはずであるという、ある種の検証です。ユーザーにエラーメッセージを表示します。

これは私の4つのテーブルの1つであり、MVCのかみそりを使用したforeachループによって生成されます

    <div class="questionsForSubjectType" id="questionsForSubjectType_1">              
              <table class="box-style2" id="RandomID_c5b9bc7a-2a51-4fe5-bd3a-75b4b3934ade">
                <thead>
                  <tr>
                    <th>
                    Kompetens
                    </th>
                  </tr>
                </thead>
                  <tbody>
                   <tr>
                     <td data-question-id="16">Har konsulten F&#246;rm&#229;ga att l&#228;ra sig nytt?</td>   
                   </tr>
                  </tbody>
                  <tbody>
                   <tr>
                     <td data-question-id="17">Har konsulten r&#228;tt kompetens?</td>   
                   </tr>
                  </tbody>
               </table>
    </div>

私のカスタムテーブル:

<table id="CustomPickedTable" class="box-style2">
<thead><tr><th>Choosen Questions</th></tr></thead>
<tbody>
</tbody>
</table>

前もって感謝します!

4

1 に答える 1

1

より良い方法があるかもしれません。

ただし、移動できる各TDにデータ属性またはクラスを追加し、送信時に必要な各値を確認します。

ここで例を作成しました:http://jsfiddle.net/y35Qf/1/

基本的に、data-rowという属性を追加しました。各テーブルには独自の値があります。送信時に、これらの各値をCustomPickedTableに含める必要があります。そうでない場合は、何かが不足していることを警告します。そうでない場合は、成功を警告します。

簡単に追加できるので、欠落している行やその他の必要な検証を警告できます。

これはあなたが望んでいたことですか?

于 2012-04-04T08:41:51.327 に答える