0

ドロップダウンのリストのitem_idいずれかをクリックしたときに表示する必要があります。item_nameそして、私が送信をクリックすると、item_nameでしitem_id$_POST。JavaScriptを使用してそれを行うことはできますか?

<?php
    $brg="SELECT item_id, item_name FROM tblItem";
    $b=mysql_query($brg);
?>
<td align="center">
    <select name="item_name">
        <?php while($br=mysql_fetch_array($b)){ ?>
        <option value=<?echo $br[0].'_'.$br[1]?> selected>
            <?php echo $br[1]; ?>
        </option>
        <?php } ?>        
    </select>
</td> 
4

2 に答える 2

0

Jup、それはJavascriptで可能です。

あなたの HTML:

<select name="item_name">
    <option value="1_Cheese">Cheese</option>
    <option value="2_Cars">Cars</option>
    <option value="3_Planes">Planes</option>
</select>

<input type="button" onclick="alert(getSelectedValue())" value="Get Select Id" />​

オプション値から ID にアクセスするには、Javascript を使用します。

function getSelectedValue()
{
    var sel = document.getElementsByName('item_name')[0];
    return sel.options[sel.selectedIndex].value.split("_")[0];
}

このフィドルを参照してください: http://jsfiddle.net/acz6Q/

jQuery を使用すると少し簡単になります (イベント ハンドラーも追加されます)。

$(document).ready(function()
{
    $("select[name=item_name]").on("change", function()
    {
         alert("new item id = " + $(this).val().split("_")[0]);
    });    ​
});

そして、ここにjQueryバージョンのフィドルがあります:http://jsfiddle.net/acz6Q/1/

お役に立てれば!

于 2012-12-09T09:01:56.943 に答える
0

これを試して:

<form action="" method="post">
    <input type="hidden" id="item_id" name="item_id" />
    <input type="hidden" id="item_name" name="item_name" />
    <select id="my_select" name="my_select">
        <option value="item_id_1">item_name_1</option>
        <option value="item_id_2">item_name_2</option>
        <option value="item_id_3">item_name_3</option>
    </select>
</form>

<script type="text/javascript">
    $(document).ready(function() {
        $("#my_select").change(function() {
            $("#item_id").val($("#my_select").val());
            $("#item_name").val($("#my_select option:selected").text());
        });
    });
</script>  

最初に jQuery ライブラリを含める必要があることに注意してください。また、ここjsfiddle.net/2FsNP/3からどのように機能するかを確認できます。また、この方法では、オプション タグの値とテキストをアンダースコアで結合する必要はありません。

于 2012-12-09T09:19:55.167 に答える