表の中のセルの位置を把握したいです
伝票入力の画面を作っているところです。
表内の1番左の「goodsId」 のセルでダブルクリックすると商品一覧ダイアログボックスが
開いて、1件を選択すると、表の中に商品名や単価等を表示する流れになっています。
下のコードはその表(伝票形式)と商品一覧ダイアログ呼び出すところです。
ダイアログを開く → 商品一覧から1件を指定 → 表に商品名等を表示
はうまくいくのですが、表内の表示位置がうまくいきません。
どの行の「goodsId」でダブルクリックしても先頭行に表示されてしまいます。
これは、カレント行の把握が必要なんだと思いますが、やり方がわかりません。
いろいろググってみると、一旦表内のすべてのセルを読み込んでクリックした
場所のrowsインデックスとcellsインデックスを取得するやり方ま見つけたんですが、
私が作ったこのコードにどのように組み込んだらいいのかがわからないのです。
どなたか教えて下さい。
よろしくお願いします。
// 売上明細表示
function indicateSalesDetail(lines){
var res = '';
for (var i = 0; i < lines; i++){
res += '<tr>'
+ '<td align="center" style="width: 10%;">'
+ '<input type="text" id="goodsId" name="goodsId" ondblclick="doActionGoodsList();" />'
+ '</td>'
+ '<td align="left" style="width: 60%;">'
+ '<input type="text" id="goodsName" name="goodsName" />'
+ '</td>'
+ '<td align="center" style="width: 10%;">'
+ '<input type="text" id="price" name="price" />'
+ '</td>'
+ '<td align="center" style="width: 5%;">'
+ '<input type="text" id="quantity" name="quantity" />'
+ '</td>'
+ '<td align="left" style="width: 15%;">'
+ '<input type="text" id="amount" name="amount" />'
+ '</td>'
+ '</tr>';
}
res += '</table>';
var obj = document.getElementById("datatable");
obj.innerHTML ='<table><tr><th>商品ID</th><th>商品名</th><th>単価</th><th>数量</th><th>金額</th></tr>'
+ res;
}
// 商品一覧表示処理
function doActionGoodsList(){
var url = "goodslistdialog.php";
var winWidth = "750px";
var winHeight = "500px";
var options = "dialogWidth=" + winWidth + ";dialogHeight=" + winHeight + ";center=1;status=1;scroll=1;resizable=1;\minimize=0;maximize=0;";
var returnValue = window.showModalDialog(url, window, options);
var goodsId = returnValue;
if(goodsId != null){
$.get('../code/goods/GoodsDetail.php', {"goodsId":goodsId}, callbackGoods);
}
}
お礼
お返事遅くなり申し訳ありません。 参考になりました!ありがとうございました。