0

jQueryバリデーターを使用して検証したい実行時にphpによって生成される5つのドロップダウンを持つフォームがあります。名前の配列を指定したため、バリデーターは最初のドロップダウンのみを検証しますが、フォームを投稿する前に5つすべてが検証されていることを確認する必要があります。

ドロップダウンを作成するためのPHP

function activityDropDown($id){
      echo('<select id='.$id.' name=activity[]>
          <option></option>
          <option>a</option>
          <option>b</option>  
          <option>c</option>
        </select>');
}
<script type="text/javascript">
            $(document).ready(function(){
        $("#friDate").Zebra_DatePicker({
            format: 'm-d-Y',
            disabled_dates: ['* * * 0-4,6'],
            first_day_of_week: 0,
            onSelect: function(){
                var date = new Date($("#friDate").val());
                $("#mon").val(addDays(date, -4));
                $("#tue").val(addDays(date, -3));
                $("#wed").val(addDays(date, -2));
                $("#thu").val(addDays(date, -1));
                $("#fri").val(addDays(date, 0));        
            }
        });
        $("#form").validate();
        $("#monActivity").rules("add", {
            required: true
        });
        $("#tueActivity").rules("add", {
            required: true
        });
    });
</script>
            <tr>
                <td>Activity:</td>
                <td><?php activityDropDown('monActivity') ?></td>
                <td><?php activityDropDown('tueActivity') ?></td>
                <td><?php activityDropDown('wedActivity') ?></td>
                <td><?php activityDropDown('thuActivity') ?></td>
                <td><?php activityDropDown('friActivity') ?></td>
            </tr>

ご覧のとおり、要素IDに基づいて手動でルールを追加しようとしましたが、それでも同じことを実行しています。最初のドロップダウンのみが検証されます。

どんな助けでも大歓迎です!

4

2 に答える 2

1

引用符がありませんid

echo('<select id="'.$id.'" name="activity[]">
于 2012-10-26T19:40:17.750 に答える
1

これを試して:

function activityDropDown($id){
      static $activitynum = 0;
      echo("<select id='$id' name=activity[$activitynum]>
          <option></option>
          <option>a</option>
          <option>b</option>  
          <option>c</option>
        </select>");
      $activitynum++;
}

これは、配列インデックスを明示的に指定することで検証プラグインの制限を回避するため、名前が区別されます。

于 2012-10-26T20:33:22.107 に答える