私がやろうとしていることを達成するためのより簡単な方法があるかもしれませんし、$.extend()
機能を完全に理解しているとは思いませんが、ここでアドバイスを求めています:
このカスタム グリッド オブジェクトがインデックスに定義されています。
var grid = $('.grid').loadGrid({
inlineEditing:<?php echo $edit ? 'true' : 'false'; ?>,
adding:<?php echo $edit ? 'true' : 'false'; ?>,
deleting:<?php echo $edit ? 'true' : 'false'; ?>,
pagerLocation:"top",
width:1320,
loadComplete: function() {
exp_sql = $(this).data().exp_sql;
}
});
ご覧のとおり、PHP がページを処理している間にいくつかのパラメーターが処理されます。
次に、ページの下に、いくつかの var チェックで定義されたいくつかのグリッドを事前に持っています。
<?
$tab = '1';
if(!@in_array($tab,$SECTIONS,true) AND $LEVEL != 1){ $edit = 0;}
?>
<table class="grid cat" action="div-m.php" title="Master catalogue info">
<th col="Catalogue" editable="<?php echo $edit ? 'select' : ''; ?>">Catalogue No</th>
<th col="ISRC" editable="<?php echo $edit ? 'text' : ''; ?>">ISRC</th>
...
</table>
それから:
...
<table class="grid isrc" action="div-d.php" title="Digital / detailed info">
...
</table>
個別のテーブルのそれぞれには、テーブルdate_ranges
ごとにメイングリッドで定義する必要がある一意の (mysql テーブルからの) があります。しかし、同じページに複数のグリッドがあるため、PHP では実行できません。
grid
問題は、最初に定義されたオブジェクトを、テーブルの直前に追加のオプションで拡張できますか、つまり:
<?php
$tab = '1';
$grid = 'cat';
if(!@in_array($tab,$SECTIONS,true) AND $LEVEL != 1){ $edit = 0;}
?>
<script type="text/javascript">
var date = {dateRange:"street_date"};
$.extend.apply(grid, date);
// $.extend(grid, dateRange:"street_date");
</script>
<table class="grid cat" action="div-m.php" title="Master catalogue info">
上記は明らかに機能しません...loadGrid()
メソッドを再度呼び出す必要があると思うため...