0

PHPを使用してドロップダウンメニューを作成しました。現在のページのURLでメニューの選択した値を使用したいと考えています。次のページにリダイレクトせずにこれを行うにはどうすればよいですか。ドロップダウン メニューを作成するためのコードは次のとおりです。

echo '<select name="Company">';
if($data['count']>0){
foreach($data['results'] as $key=>$value){
echo "<option value='".$value['CID']."'>".$value['Name']."</option>";
}
}
echo "</select>";
4

5 に答える 5

0

javascriptまたはJQueryを使用してドロップダウン値を取得する必要があります

Javascript の場合:

<script type="text/javascript">
var myselect=document.getElementById("Company")
for (var i=0; i<myselect.options.length; i++){
 if (myselect.options[i].selected==true){
  alert("Selected Option's index: "+i)
  break
 }
}
</script>

JQuery で

$('select[name=Company]').val()
于 2013-11-12T12:19:28.640 に答える
0

ページを更新せずにハッシュ値を使用して行うこともできます

onchange イベントのドロップダウンを変更するたびに、コードを記述できます

onchange="window.location.hash(this.value);"

URLにハッシュ値を設定し、ページが更新されていないときにハッシュ値の変更を検出する関数を作成できます。ハッシュ値の変更を追跡する必要があり、選択したメニューをハッシュ値の基礎。

これを使用して、ハッシュ値の変化を検出します

$(document).ready(function() {
    $(window).bind('hashchange', function(e) {
        var hashStr = window.location.hash;
        hashStr = hashStr.substring(1, hashStr.length);
        hashArray = hashStr.split('&');
        // here you will get the array of all the parameters you passed in the array 
    });
});  
于 2013-11-12T13:10:35.180 に答える
0

この値をどのように使用するかは完全には明確ではありませんが、javascript を使用して同じページで参照できます。以下のコードを検討してください。これは、ドロップダウン ボックスから新しいオプションが選択されるたびに、「Your company is:」という行を更新します。

<script type="application/javascript">
    function update_box() {
        selected_value = document.getElementById('company_dropdown').value;
        document.getElementById('your_company').innerText = selected_value;
    }
</script>

<form action="page.php" method="post" id="my_form" name="my_form" onchange="update_box()">
    <select name="company_dropdown" id="company_dropdown">
        <option value='A'>A</option>
        <option value='B'>B</option>
        <option value='C'>C</option>
    </select>
</form>


Your company is: <span id="your_company" name="your_company"></span>
于 2013-11-12T12:27:37.813 に答える