-1

1 つのページ内の要素に同じ ID を指定できないことはわかっています。しかし、私は PHP が SELECT * ステートメントで生成するリストを持っています。このリストは、データベース内のすべての行を HTML テーブルに表示し、データの各行の横にはラジオボックスがあり、その値は mysql のその行の ID です。私がここでやろうとしているのは、その行の Radio をチェックして Func を実行すると、JavaScript が ID 番号である値を取得するので、その行を削除できることです。

このようなもの:しかし、すべてのラジオに同じIDを与えることはできません

var age = document.getElementById('radio').value;
    var queryString = "?id=" + radio;
    ajaxRequest.open("GET", "coderemove.php" + queryString, true);
    ajaxRequest.send(null); 

これを実行しても、明らかに何も起こりません

4

4 に答える 4

3

純粋な JavaScript アプローチを使用できます。PHP コードが次のように出力されると想像してください。

Thing Number 1 <input type="radio" name="myRadioId" value="thingy1" />
Thing Number 2 <input type="radio" name="myRadioId" value="thingy2" />

次に、JavaScript コードは次のようになります。

function getRadioValue(radioName){
    // Get all inputs on the page.
    var inputs = document.getElementsByTagName('input');

    for (var i = 0; i < inputs.length; i++) {
        // Check it is a radio of the correct name and is checked.
        if (inputs[i].type === 'radio' &&
            inputs[i].name === radioName &&
            inputs[i].checked) {

            // We have the checked radio - return its value.
            return inputs[i].value;
        }
    }
    return null;
}

var queryString = "?id=" + getRadioValue('myRadioId');
// Do stuff here

しかし、jQueryを使用すると、はるかに簡単になります。

var queryString = "?id=" + $("input:radio[name=myRadioId]").val();

JavaScript を知らず、それを使用して Web ページをプログラミングしようとしている場合は、jQuery の基礎を 1 時間かけて学習することをお勧めします。手間が省けます:)

于 2012-08-20T19:54:20.657 に答える
0

これを試して:

function test() {
    var getRadios = document.getElementById("input")
    for (var x = 0; x < getRadios.length; x++) {
        if ( getRadios[x].type == "radio" && getRadios[x].checked )
            alert(getRadios[x].value)
        }
    }
}
于 2012-08-20T19:54:54.947 に答える
0

I guess you need to dynamically change the id of radio buttons. The PHP part is:

<?php
    $qry = "select * from table_name";
    $res = mysql_query($qry);
?>
<table>
    <?php
        $count = 1;
        while($data=mysql_fetch_array($res)) {
    ?>
    <tr>
        <td><input type = 'radio' value='<?php echo $data
        ['col']?>' id=<?php echo $count;?> onclick="alertId(this.id)"
        name="radio"></td>
        <td><?php echo $data['col'];?></td>
    </tr>
    <?php
            $count++;
        }
    ?>
</table>

And the JavaScript part is:

<script type = "text/javascript">
    function alertId(id) {
        alert(id);
    }
</script>

This will alert the id of the clicked radio button and then you can get the value by documnet.getElementById(id).value.

于 2012-08-20T20:22:41.600 に答える
0

使用する

<input name="mygroupname" type="radio" value="1">
<input name="mygroupname" type="radio" value="2">
<input name="mygroupname" type="radio" value="3">

document.getElementsByName('mygroupname');

配列内の要素を取得します。

于 2012-08-20T19:47:22.307 に答える