お世話になります。
ASP.NETにて開発を行っているのですが、要件として
以下の条件が挙げられています。
(1)親画面に検索結果を表示
(2)親画面にはチェックボックスが先頭に存在する。
チェックボックスは行のセル2つ目がNGと表記されている場合
チェックのON/OFFが行えない。
(3)2セル目にはボタンとテキストが表示される。ボタンを押すと
ポップアップ画面を表示。ボタンを押した行のデータを子画面で
変更後、変更後の値によってNG/OKが決定する。
行のイメージとしては以下です・・。
※|区切りがテーブルの1セルです。
| □ | [ボタン] NG | コード | 名称・・・
ポップアップ画面にはどの行からアクセスされたかの行情報を
セッションに保持しています。
○やりたい事
(1)JavaScriptにてチェックボックスのEnableをTrueに変更したい。
(ポップアップでOKが押されるとNGはOKに変更されます。そのタイミングでチェックボックスのロック状態を解除したく思っています。)
(2)セル2のNGのテキストをJavaScriptで操作しInnerTextにて書き換えるとボタンまで消えてしまう。(恐らくテーブルセルの中のすべてがInnerTextで上書きされてしまうのですが・・・)
テキストだけ変更する方法はないでしょうか・・。
ややこしい内容で申し訳ありませんが、お知恵をお貸し下さい><
No.1
- 回答日時:
innerTextは確かIE独自(間違えてたらごめんなさい)のプロパティなのでinnerHTMLをお使いください。
その際にボタンのHTMLも含めて書き直せばいいと思います。またはテキストだけをspan要素に入れてそれのみを書き換えるという方法も考えられます。
No.2ベストアンサー
- 回答日時:
ぐだぐだですが・・。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<title>Change Image</title>
<style type="text/css">
#popup { width:300px; background-color:#888; border:3px #333 double; padding:1ex;}
</style>
<body>
<table border="1" id="abc">
<tr>
<td><input type="checkbox"></td>
<td><input type="button" value="inp" class="popup">NG</td>
<td>100</td>
<td>名称01</td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td><input type="button" value="inp" class="popup">OK</td>
<td>200</td>
<td>名称03</td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td><input type="button" value="inp" class="popup">NG</td>
<td>300</td>
<td>名称03</td>
</tr>
</table>
<div id="popup">
<form>
<p>
Code:<input type="text" id="c2"><br>
Name:<input type="text" id="c3"><hr>
<input type="button" value="Check" id="chkbtn">
</p>
</form>
</div>
<script type="text/javascript">
//@cc_on
addEvent(window, 'load', function(){ tableCheck('abc');document.getElementById('popup').style.display='none'; });
addEvent(document.body, 'click', tableClick);
function tableCheck (tid) {
var obj;
var chk;
var tbl = document.getElementById(tid);
for (var cnt = 0, max = tbl.rows.length; cnt < max; cnt++) {
chk = tbl.rows[cnt].cells[1].childNodes[1].nodeValue;
obj = tbl.rows[cnt].cells[0].firstChild;
if( obj.tagName == 'INPUT' && obj.type == 'checkbox' && chk == 'NG') obj.disabled = true;
}
}
var poj;
function tableClick (evt) {
var s = document.getElementById('popup').style;
var obj = evt.target || evt.srcElement;
var n;
if (obj.className == 'popup') {
poj = obj.parentNode.parentNode;
s.top = obj.offsetTop + 30 +'px';
s.left = obj.offsetLeft + 'px';
s.display = s.display == 'none' ? 'block': 'none';
document.getElementById('c2').value = poj.cells[2].firstChild.nodeValue;
document.getElementById('c3').value = poj.cells[3].firstChild.nodeValue;
}
if (obj.id == 'chkbtn') {
s.display = 'none';
n = document.getElementById('c2').value-0;
poj.cells[2].firstChild.nodeValue = document.getElementById('c2').value;
poj.cells[3].firstChild.nodeValue = document.getElementById('c3').value;
if( 100<n && n<300) {
poj.childNodes[0].firstChild.disabled = false;
poj.childNodes[1].childNodes[1].nodeValue = 'OK';
} else {
poj.childNodes[0].firstChild.disabled = true;
poj.childNodes[1].childNodes[1].nodeValue = 'NG';
}
}
}
function addEvent(elementId, evt, eventHandler, flag){
var element = ( typeof( elementId ) == 'string' )? document.getElementById( elementId ): elementId;
element./*@if(1)attachEvent('on'+ @else@*/addEventListener(/*@end@*/evt, eventHandler, flag);
}
</script>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javaScriptで画面に値を入れるには 1 2022/08/14 12:27
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Excel(エクセル) 表内で、Enterキーで横→行の最後入力したら次の行の先頭に移動するマクロを作りたい 3 2022/05/01 21:19
- Visual Basic(VBA) マクロ実行時、自動で背景色を変えたい。 C列にあるチェックボックスをチェックするとB列に「TRUE」 4 2022/11/08 11:14
- Visual Basic(VBA) VBA 複数のブックに同じ列を表示させる方法 2 2022/07/20 23:49
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/21 09:42
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 11:02
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
<td>の中のonClick="location" で
-
空のテーブルを表示させたい
-
ポップアップメニュー
-
JSで、テーブルのある行のみ、...
-
ウイルスバスターオンラインス...
-
Jquery on click 発火しない
-
月間予定表の作り方
-
【秀丸マクロ】検索行と、その...
-
ハイパーリンクを別ウインドウ...
-
PC情報の調べ方教えてください。
-
\\u30ad\\u30fc\\u30dc・・・と...
-
テーブルセルの列での背景色の変更
-
jquery datatablesを使用 イン...
-
「オブジェクトは、このプロパ...
-
JavaScriptでテーブルをクリッ...
-
CSVデータをツリー表示させたい
-
正規表現で複数マッチ条件で悩...
-
ボタン2回押しを無効にしたい
-
<form action="#">の意味とは?
-
JavaScriptにて動的に配列を作...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ハイパーリンクを別ウインドウ...
-
マウスをブラウザの外に出した...
-
JavaScriptで特定のtdタグにcla...
-
特定<table>内の<td>の色を変える
-
一覧から選択した行の行番号を...
-
tableの任意行にfocusをあてる
-
プルダウンで選択すると、DBの...
-
至急!GetElementById でtdの...
-
【UWSC】HTML内のある部分を抽...
-
javascript クリックすると、あ...
-
jsで質問です。 displayプロパ...
-
javascriptで質問です。 displa...
-
クリックされた罫表セルの行番...
-
テーブルの変数について
-
別ページからOnclickでテーブル...
-
スクロールバーの表示位置を変...
-
JavaScriptでテーブルをクリッ...
-
Selenium.ChromeDriverの使い方...
-
Excelで作ったhtmlファイルのサ...
-
チェックボックスにチェックが...
おすすめ情報