2016-04-25 2 views
3

Hier私は少し問題があります。順番に同じ値を選択した場合(または[送信]ボタンを2回クリックした場合)、何も起こりません。しかし、ドロップダウンリストからアイテムを変更すると、それはうまくいきます。変数 "var value = $(this).data(" value ");"の値は、リストから別の項目を選択しないと変更されません。なぜこの値がデータベースから行を取得するので、値を変更したいのですか?私は任意のsuccesなしでchange()関数を試してみました。PHPを使用してドロップダウンメニューから選択項目の値を取得するには

 <div class="col-md-6 center"> 
    <H2>Macig Box</H2> 
    Please Select Nummer Of Match. 
    <form id="myform" method="get"> 
    <div class="dropdown"> 
     <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true"> 
      Succes 
      <span class="caret"></span> 
     </button> 

     <input type="hidden" id="selectedNummer" name="selectedNummer" /> 
     <ul class="dropdown-menu myCustomDropMenu" aria-labelledby="dropdownMenu1" onchange="change()" > 

      <li><a href="#" data-value="1">1</a></li> 
      <li><a href="#" data-value="2">2</a></li> 
      <li><a href="#" data-value="3">3</a></li> 
      <li><a href="#" data-value="4">4</a></li> 
      <li><a href="#" data-value="5">5</a></li> 
      <li><a href="#" data-value="6">6</a></li> 
      <li><a href="#" data-value="7">7</a></li> 
      <li><a href="#" data-value="8">8</a></li> 

     </ul> 
    </div> 
     <input type="submit" value="Send"> 
</form> 

     <script> 
     $('.myCustomDropMenu li a').click(function(e){ 
    var value=$(this).data("value"); 
var selText = $(this).text(); 
$(this).parents('.dropdown').find('.dropdown-toggle').html(selText+'<span class="caret"></span>'); 
    $('#selectedNummer').val(value); 
}); 
    </script> 
    <script> 
function change(){ 
    document.getElementById("myform").submit(); 
} 
</script> 

誰かがこの目標をアーカイブするのを手伝ってください。ありがとうございました。

+2

を私はあなたが、彼らは無関係に見えるにもかかわらず、この質問でそれらをタグ付けてきたようにJS/jQueryの中で記述されたソリューションをしたいと仮定します。もしそうなら、自分で書いたJSコードを質問に追加してください。 –

+0

私はこれらの2つのタグを削除する必要があります、あなたの提案に感謝します。 – user3360123

答えて

2

jQueryを使用して、選択した値をドロップダウンから入力フィールドに設定しました。あなたは何ができるか

は、ドロップダウンメニューの<a>clickトリガーを入れ、ドロップダウンから<a>clickselectedNummer入力に対応する値を設定されています。

ページにdropDownMenusが複数ある場合は、ドロップダウンメニューにカスタムクラスを追加して、特定のclickトリガーを入れることができます。

あなたのHTMLはこのようになります。あなたがPOSTGETメソッドを使用してフォームを送信する際

<div class="col-md-6 pull-right"> 
    <H2>Macig Box</H2> 
    Please Select Nummer Of Match. 
    <div class="dropdown"> 
     <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true"> 
      Succes 
      <span class="caret"></span> 
     </button> 

     <input type="hidden" id="selectedNummer" name="selectedNummer" /> 
     <ul class="dropdown-menu myCustomDropMenu" aria-labelledby="dropdownMenu1"> 
      <li><a href="#" data-value="1">1</a></li> 
      <li><a href="#" data-value="2">2</a></li> 
      <li><a href="#" data-value="3">3</a></li> 
      <li><a href="#" data-value="4">4</a></li> 
      <li><a href="#" data-value="5">5</a></li> 
      <li><a href="#" data-value="6">6</a></li> 
      <li><a href="#" data-value="7">7</a></li> 
      <li><a href="#" data-value="8">8</a></li> 
     </ul> 
    </div> 

そしてselectedNummer入力に値を設定するために、JSは今

$('.myCustomDropMenu li a').click(function(e){ 
    var value=$(this).data("value"); 
    $('#selectedNummer').val(value); 
}); 

だろう、あなたは$_POST['selectedNummer']または$_GET['selectedNummer']、および使用を使用して値にアクセスすることができますPHP変数に値を代入すること。入力値設定のための

//e.g. 
$variableValue=$_POST['selectedNummer']; 
// OR 
$variableValue=$_GET['selectedNummer']; 

ワーキングjsFiddle:https://jsfiddle.net/1dLoqe44/

+0

ご協力いただきありがとうございました。 – user3360123

+0

ユーザーは彼を助け、問題を完全に分類していないと言いました。私はそれがあなたの答えにアップヴォートを持っている理由だと思います。 @Alok – Nehal

+0

このコードはfijnで動作します。同じ値を2回連続して選択した場合は、このドロップダウンを使用しても何も起こりません。私はあなたが再び2つのページを選択した後に再読み込みしない場合、後に2の値を取得する最初の2つを選択する場合は、意味します。なにか提案を。 – user3360123

関連する問題