btn点击后如何获取下拉列表和文本框的值?

时间:2018-02-22 12:49:47

标签: php jquery mysql ajax

我有一个表单,其中我有一个从数据库中填充的下拉列表,我的下面还有一个输入框。我想fetch the value of both the fields via Ajax using jQuery and insert them into the database

问题:文本字段的值已成功插入,但下拉值未插入。

我知道我必须单独获取下拉列表的值,然后将其添加到ajax中的数据中,但我无法确定如何执行相同操作。

注意:可能下来的选民要告诉我为什么我会这样做,这样我才能改善这一点。

sub_category_add.php

<form method="post">

          <select id="cat_sub_cat">     

          <?php
          $data=mysqli_query($con,"SELECT * FROM category");
          while($row=mysqli_fetch_array($data))
          {
              echo "<option value=".$row['cid'].">".$row['category']."</option>";  
          }

          ?>      

          </select><br><br>     

          <h3>Add Sub Categories</h3><br>    

          <input type="text" name="sub_cat"><br><br>
          <input type="submit" name="submit" value="Insert" id="sub_cat_btn"> 
 </form>

Ajax File:

$(document).on('click','#sub_cat_btn', function(event){
    event.preventDefault();

    $.ajax({
        url:"sub_cat_add_back.php",
        method:"post",
        data:$('form').serialize(),
        dataType:"html",
        success:function(strMsg){
            $("#cat_sub_msg").html(strMsg);

            }

        })

sub_cat_add_back.php

<?php

include "../includes/config.php";


$name=$_POST['sub_cat'];
$cid=$_POST['cat_sub_cat'];


$data=mysqli_query($con,"INSERT INTO subcategory (name,cid) VALUES ('$name','$cid')");
if($data=="true")
{
    echo "Successfully Inserted";   
}
else
{
    echo "Error";   
}


?>

2 个答案:

答案 0 :(得分:1)

您的问题是select标签没有Name属性

 <select id="cat_sub_cat" name="cat_sub_cat"> 

答案 1 :(得分:0)

如果您想在点击时获取值而不是表单序列化。在input

中添加ID
 <input type="text" name="sub_cat" id="custom">

    $("#cat_sub_cat option:selected");
    $("#custom").val();

如果您想使用表单序列化进行此操作,请在select

中添加名称

<select id="cat_sub_cat" name="your_select_name">