Javascript Jquery未从下拉列表中获取所选值

Javascript Jquery未从下拉列表中获取所选值,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我正在尝试从下拉列表中获取所选值,将所选值存储在数据库中,但不获取下面的所选值是我的代码,可以指导如何操作。谢谢 更新 clientnetworkpricelist/update.php $dbHost = 'localhost'; // usually localhost $dbUsername = 'xxx'; $dbPassword = 'xxxxxxxx'; $dbDatabase = 'fms'; $db = mysql_connect($dbHost, $dbUsername, $d

我正在尝试从下拉列表中获取所选值,将所选值存储在数据库中,但不获取下面的所选值是我的代码,可以指导如何操作。谢谢

更新

clientnetworkpricelist/update.php

$dbHost = 'localhost'; // usually localhost
$dbUsername = 'xxx';
$dbPassword = 'xxxxxxxx';
$dbDatabase = 'fms';
$db = mysql_connect($dbHost, $dbUsername, $dbPassword) or die ("Unable to connect to Database Server.");
mysql_select_db ($dbDatabase, $db) or die ("Could not select database.");

$client_id=$_POST['clientid'];
    $feild=$_POST['field'];
            $data= $_POST['value'];
            $rownum=$_POST['rowid'];  
            $sql="UPDATE $client_id SET ".$feild." = '".$data."' WHERE net_id = ".$rownum."";

             print $sql;



            mysql_query($sql)

;  
Html

<?php
$client_id=$_GET['clientid'];

if($client_id!=""){

$sql=mysql_query("select * from supplierprice a JOIN $client_id b WHERE b.`net_id` = a.`supp_price_id`" );
$query = "SELECT route FROM routestable WHERE `clientid` = '$client_id' ";
$result = mysql_query($query);
//print "query". $query;

while($rows=mysql_fetch_array($sql))
{

if($alt == 1)
        {
           echo '<tr class="alt">';
           $alt = 0;
        }
        else
        {
           echo '<tr>';
           $alt = 1;
        }

echo '   <td  class=" '.$rows["net_id"].'">'.$rows["clientid"].'</td>
         <td id="CPH_GridView1_clientid" class=" '.$rows["net_id"].'">'.$rows["region"].'</td>  
        <td id="CPH_GridView1_country" class=" '.$rows["net_id"].'">'.$rows["country"].'</td>
        <td id="CPH_GridView1_networkname" class=" '.$rows["net_id"].'">'.$rows["networkname"].'</td>
        <td id="CPH_GridView1_mcc"  class=" '.$rows["net_id"].'">'.$rows["mcc"].'</td>   
        <td id="CPH_GridView1_mnc"  class="'.$rows["net_id"].'">'.$rows["mnc"].'</td>
        <td id="CPH_GridView1_mnp" class="edit mnp '.$rows["net_id"].'">'.$rows["mnp"].'</td>';
  /*                        
         $ColumnNames = mysql_query("SELECT column_name FROM information_schema.COLUMNS WHERE table_name = 'supplierprice' AND column_name NOT
IN ('supp_price_id','net_id','region', 'country', 'networkname', 'mcc', 'mnc', 'mnp'
)") or die("mysql error"); 

$columnArray=array();*/


foreach($columnArray as $value) {


//$columnArray[]=$rows1[0];

echo '<td  id="CPH_GridView1_xxx" width="0px;" class="edit '.$value.' '.$rows["net_id"].'">'.$rows[$value].'</td>';   
}   



 echo ' <td id="CPH_GridView1_clientprice" class="edit clientprice '.$rows["net_id"].'">'.$rows["clientprice"].'</td>
        <td> <select name="mySelect" id="mySelect" class="edit route '.$rows["net_id"].'" >';         



           // $query = "SELECT route FROM routestable WHERE `clientid` = '$client_id' `"; 
           // print "Query is".$query; 
            $result = mysql_query($query);
            while ($rows = mysql_fetch_assoc($result))  
            {  
                echo '<option value="' . $rows['route'] . '"> ' . $rows['route'] .     '</option>';  
               // echo '<option value="Hi"> Hi</option>';
            }   


         echo '</select>
                            </td>

                <td></td>'


        ;

echo '</tr>';

}
}
?>

您应通过以下方式获取所选选项的值:

var value2send = $('#mySelect').find(":selected").val();
然后您可以将其添加到数据中

更新

感谢@charlietfl,这是另一种选择:

var value2send = $('#mySelect').val();

要在下拉列表中获取所选项目,无需使用更改操作 比如说

var SlcItem = $('#Your Select').find('option:selected').attr('value');
$('.ajax input').val()是这里的一个问题,请确保您的HTML中有一个输入元素

如果要在post中使用
mySelect

data: "value="+$(this).val()+"&rowid="+arr[2]+"&field="+arr[1]+"&clientid="+clientid,
还有这里

$('.ajax').html($('.ajax-input').val())

在这种情况下,您需要使用
edit
类选择器。ID是唯一的属性,这就是为什么,它是为第一个元素工作的

             $('.edit').on('keyup change', function(){              

                  arr = $(this).attr('class').split( " " );

                  var clientid=document.getElementById("client").value;

                    $.ajax({    type: "POST",
                        url:"clientnetworkpricelist/update.php",
                        data: "value="+$(this).val()+"&rowid="+arr[2]+"&field="+arr[1]+"&clientid="+clientid,
                        success: function(data){
                        $('.ajax').html($('.ajax input').val());
                        $('.ajax').removeClass('ajax');
                    }});
                });

我看到你有一些PHP代码。您也可以将问题标记为PHP并正确显示;我猜不出你所说的
$rows[“net_id”]。
如果我没有马上识别PHP,那么在第一行。你没有真正得到selects值,因为那将是
this.value
,你得到的是名为
client
的元素的值。你应该给出构建mysql语句的PHP代码。你让人们试图估计你的代码是什么……你能在这里发布你的
clientnetworkpricelist/update.php
文件代码吗根据您的注释@charlietflyea我现在更改代码,它对第一行起作用,但对其他行,它不执行其他行我编辑的代码数据:“value=“+$('#mySelect')。find(“:selected”).val()+”&rowid=“+arr[2]+”&field=“+arr[1]+”&clientid=“+clientid”,我可以为您提供更多帮助,如果你可以在这里分享你的html部分。让我们看看我需要另一个帮助保存数据库后,我需要显示弹出窗口,以显示数据保存在数据库中
             $('.edit').on('keyup change', function(){              

                  arr = $(this).attr('class').split( " " );

                  var clientid=document.getElementById("client").value;

                    $.ajax({    type: "POST",
                        url:"clientnetworkpricelist/update.php",
                        data: "value="+$(this).val()+"&rowid="+arr[2]+"&field="+arr[1]+"&clientid="+clientid,
                        success: function(data){
                        $('.ajax').html($('.ajax input').val());
                        $('.ajax').removeClass('ajax');
                    }});
                });