0

MySQL テーブルのすべてのゲスト エントリ用に作成された次のテーブルがあります。

    echo '<tr>
            <td>'.$gastId[$i]." ".$voornaam[$i].'</td>
            <td><input type="radio" name=present'.$gastId[$i].'[] value=1 onclick="setReadOnly(this)" checked></td>
            <td><input type="radio" name=present'.$gastId[$i].'[] value=2 onclick="setReadOnly(this)"></td>
            <td><input type="text"  name="artiest[]" value="'.$artiest[$i].'"></td>
            <td><input type="text"  name="titel[]" value="'.$titel[$i].'"></td>
        </tr>';

artiest現在のラジオ ボタン '. $ gastId titel[$i].

JavaScriptで解決しようとしていましたが、JavaScriptの経験はほとんどありません。行ごとにラジオボタンとテキストフィールドをIDなどでリンクする方法はありますか?

<script language='javascript'>
<!-- //
function setReadOnly(obj)
{
    if(obj.value == 1)
    {
        document.forms[0].artiest.readOnly = 0;
    } else {
        document.forms[0].artiest.readOnly = 1;
    }
}
// -->
</script>

ご助力ありがとうございます!

編集 2012 年 10 月 21 日

申し訳ありませんが、もっと明確にする必要がありました。

テーブルが次のようになっている場合:

------------------------------------------------
|  P  |  NP  | Artist        | Title           |
------------------------------------------------
|  X  |      | Enabled       | Enabled         |
------------------------------------------------
|     |  X   | Disabled      | Disabled        |
------------------------------------------------
etc

したがって、その行のラジオ ボタンは、同じ行のフィールドを有効にするか無効にするかを制御します。

4

2 に答える 2

1

にIDを追加するだけです:

<td><input type="text"  id="artiest" name="artiest[]" value="'.$artiest[$i].'"></td>
                        ^^^^^^^^^^^
于 2012-10-20T20:55:45.953 に答える
0

私はそれを機能させました:

要素に ID フィールドを追加しました。

    echo '<tr>
            <td>'.$gastId[$i]." ".$voornaam[$i].'</td>
            <td><input type="radio" id='.$gastId[$i].' name=present'.$gastId[$i].'[] value=1 onclick="setReadOnly(this)" checked></td>
            <td><input type="radio" id='.$gastId[$i].' name=present'.$gastId[$i].'[] value=2 onclick="setReadOnly(this)"></td>
            <td><input type="text"  id=artiest'.$gastId[$i].' name="artiest[]" value="'.$artiest[$i].'"></td>
            <td><input type="text"  id=titel'.$gastId[$i].'   name="titel[]" value="'.$titel[$i].'"></td>
        </tr>';

そしてJavaScriptを変更しました:

function setReadOnly(obj)
{
    if(obj.value == 1)
    {
        document.getElementById("artiest"+obj.id).readOnly = 0;
        document.getElementById("titel"+obj.id).readOnly = 0;
    } else {
        document.getElementById("artiest"+obj.id).readOnly = 1;
        document.getElementById("titel"+obj.id).readOnly = 1;
    }
}
// -->
</script>

ご協力ありがとうございました!

于 2012-10-21T09:52:13.097 に答える