2017-07-17 19 views
0

私の期待通りに、オプションの下部にAddボタンを作りたいと思います。ここでURLをSelectフォームに入力してください

は私のコードです:

<select class="form-control" name="id_sales" style="margin-bottom:15px;"> 

    <option value="" selected disabled>Sales</option> 

    <?php 
    $result = mysqli_query($con,"SELECT * FROM sales"); 
    while ($row = mysqli_fetch_array($result)) { 
    ?> 

    <option value="<?= $row['id_sales']; ?>"><?= $row['id_sales']; ?> - <?= $row['nama_sales']; ?></option> 

    <?php } ?> 

    <a href="index.php?page=sales" class="btn btn-primary"> 
    <span class="fa fa-plus"></span> Add new sales 
    </a> 

</select> 

それが動作するためにどのように?

答えて

2

あなたはここでオプションタグ にアンカーを置くことができないとして、あなたは、このfoはjQueryのを使用することができ、質問のためのソリューションである、

<select class="form-control" name="id_sales" id="id_sales" style="margin-bottom:15px;"> 
<option value="" selected disabled>Sales</option> 
<option value="" >sales 1</option> 
<option value="" >sales 2</option> 
<option value="" >sales 3</option> 
<option value="add_sales" id="add_sales">Add new sales</option> 

<script type="text/javascript"> 
$(document).on('change','#id_sales', function(){ 
    var selected_value = $(this).val(); 
    if(selected_value=="add_sales"){ 
     window.location.replace("url where you want to go on clicking 'Add new sales'"); 
    } 
}); 
</script> 
+1

あなたが説明できるならば、それは常に良いでしょうあなたがやったこととOPが間違っていたり、逃したりしました。 – Bram

+1

ありがとう、提案のための@Bram。 :) –

0

HTMLでは、選択内の可能な要素はoptions要素のみになります。これ以外のselectタグの中には何も入れることはできません。

selectoptionsは1つの要素を定義するため、これも意味があります。それらは単一のエンティティを表します。

まず、リンクを見るには、まずselectタグの外側にアンカーを宣言する必要があります。

HTMLを使用すると、データはフォーム要素を使用してのみ送信できます。それの代用品はありません。

したがって、フォーム要素にフィールドをラップするか、ajaxを使用する必要があります。しかし、Ajaxにも独自のユースケースがありますので、必要でない場合は使用しないでください。

この作業を行うには、最初に要素をHTMLフォームにラップし、アンカーを送信タイプの入力/ボタンに変更します。フォームのactionタグでスクリプトのURLを定義します。また、アンカーを使用してフォームを送信する必要がある場合は、JavaScriptを使用してください。

これはあなたの質問です。

関連する問題