[英]Jquery not getting the selected value from dropdown
我正在嘗試獲取選定下拉列表的值,選定的值存儲在數據庫中,但下面沒有接受選定的值,這是我的代碼可以指導如何做到這一點。
更新
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>';
}
}
?>
阿賈克斯
$(document).ready(function(){
$('#mySelect').on('change keyup', function(){
arr = $(this).attr('class').split( " " );
var clientid=document.getElementById("client").value;
$.ajax({ type: "POST",
url:"clientnetworkpricelist/update.php",
data: "value="+$('#mySelect').find(":selected").val()+"&rowid="+arr[2]+"&field="+arr[1]+"&clientid="+clientid,
success: function(data){
$('.ajax').html($('.ajax input').val());
$('.ajax').removeClass('ajax');
}});
});
$('#editbox').live('blur',function(){
$('.ajax').html($('.ajax input').val());
$('.ajax').removeClass('ajax');
});
});
$('.ajax input').val()
是這里的問題,請確保您的HTML中有一個input元素。
如果要在帖子中使用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');
}});
});
您應該通過以下方法獲得所選選項的值:
var value2send = $('#mySelect').find(":selected").val();
然后,您可以將其添加到您的數據中。
UPDATE
感謝@charlietfl,這是另一個選擇:
var value2send = $('#mySelect').val();
為了使下拉菜單中的所選項目,無需使用CHange Action例如
var SlcItem = $('#Your Select').find('option:selected').attr('value');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.