2017-11-01 6 views
0

私は検索機能を含むプロジェクトで作業していますが、現在検索はうまくいきます。私はドロップダウンを使って値を選択しています。 これは、彼らがラジオボタンですべての項目を表示する必要があり、また、彼らはラジオ をクリックしてページを送信したい我々のクライアントの要件ごとに、私はcodeigniterのラジオボタンエラー

<div class="form-group form-group-lg form-group-icon-left search"><i class="fa fa-plane input-icon"></i> 
    <label>Select an option</label> 
    <select class="typeahead form-control" name="search"> 
    <?php foreach($search_des as $sd) { ?> 
      <option value="<?php echo $sd->des_category_id;?>"> 
      <?php echo $sd->des_category_name;?></option> 
    <?php } ?> 
    </select> 
    <br> 
</div> 

今ドロップダウンで使用していたコードです。私はラジオボタンを使用しようとしましたが、正しく動作しませんでした。 これはラジオボタンで使用しているコードです。

<div class="form-group"> 
    <label>Select an option</label> 
    <?php foreach($search_des as $sd) { ?> 
     <label> 
     <input class="form-control" value="<?php echo $sd->des_category_id;?>" type="radio"> 
    <?php echo $sd->des_category_name;?></label> 
    <?php } ?> 
    <br> 
</div> 

すべての項目が正しく列挙されているが、すべてのラジオボタンがチェックされ、これを使用している間、また、私は、オートラジオ・ボタンを使用してフォームを送信する方法を知りません。

+0

ラジオボタンに 'name'を付けることで始めることもできます。そうしないと、標準フォームの送信にまったく含まれないからです。 _ "私はラジオボタンを使ってフォームを自動的に提出する方法も知らない" _ - それは自分自身を研究することができるはずのもののように聞こえる。 – CBroe

答えて

2

クリックするとフォームを送信するためにJavaScriptを使用する必要があります。

クリックしたラジオボタンにイベントリスナーを追加し、そのイベントが発生したときに送信するようにフォームをトリガーします。

このようなものは機能するはずです。それに応じてIDを変更してください。

var form = document.getElementById("form-id"); 

document.getElementById("radio-id").addEventListener("click", function() { 
    form.submit(); 
}); 
+0

私に例を教えてもらえますか? –

+0

@JobyMathewsサンプルコードが追加されました – Goose

+0

ありがとうございました。 –

0

あなたはINPUT OK

<div class="form-group"> 
    <label>Select an option</label> 
     <?php foreach($search_des as $sd) { ?> 
    <label> 
    <input name="search" class="form-control" value="<?php echo $sd->des_category_id;?>" type="radio"><?php echo $sd->des_category_name;?></label> 
         <?php } ?> 
<br> 

0

name 

属性 を与えていないので、この問題に対処するために複数のものがあります。

まず、前述のように、ラジオボタンに名前タグを追加する必要があります。

第2に、JavaScriptを使用してラジオボタンのクリックイベントでフォームを送信する必要があります。クリックイベントを設定するには、ラジオボタンでクラスを追加します。

私のCodepenへのリンクをここに記入してください。

コード

<form name="theForm"> 
    <div class="form-group"> 
    <label>Select an option</label> 
    <?php foreach($search_des as $sd) { ?> 
     <label> 
     <input class="form-control radioClass" value="<?php echo $sd->des_category_id;?>" type="radio" name="category"> 
     <?php echo $sd->des_category_name;?></label> 
     <?php } ?> 
    <br> 
    </div> 
</form> 

JS VARクラス名= document.getElementsByClassName( "radioClass")。 //このリンクでコード(もちろんPHPスクリプトがダミーデータに置き換えられている)で遊ぶことができ、我々は

var myFunction = function() { 
    document.theForm.submit(); //theForm is the name of the form. 
}; 

for (var i = 0; i < classname.length; i++) { 
    classname[i].addEventListener('click', myFunction, false); //Adding listener to the click event. 
} 

を追加しましたラジオボタンクラス:https://codepen.io/akshit_ij/pen/KydVXz

は、それならば、私に教えてください助けてください。