Javascript jQuery从下拉列表中选择值不工作
我试图从下拉列表中获取值,但我仅获取第一个下拉列表的值。数据库中有多个记录,每个记录都有一个下拉菜单,其中提到了产品的状态 我只得到第一行下拉列表的值。这是我的密码: jQuery代码Javascript jQuery从下拉列表中选择值不工作,javascript,php,jquery,Javascript,Php,Jquery,我试图从下拉列表中获取值,但我仅获取第一个下拉列表的值。数据库中有多个记录,每个记录都有一个下拉菜单,其中提到了产品的状态 我只得到第一行下拉列表的值。这是我的密码: jQuery代码 $(".myBtn").click(function(){ var id=$(this).attr("atr"); var text = $(".hotel[myid='tayyab']").val(); alert(text); $.ajax({ ty
$(".myBtn").click(function(){
var id=$(this).attr("atr");
var text = $(".hotel[myid='tayyab']").val();
alert(text);
$.ajax({
type: "POST",
url: 'updatestatus.php',
data: {id:id,status:text},
success: function(data){
$("#results").html(data);
}
});
});
这是我的PHP代码
<?php if(isset($_POST['search'])){
$con=mysql_connect("localhost","root","");
$db=mysql_select_db("eshop");
$id=$_POST['pid'];
$query=mysql_query("SELECT * FROM userorder WHERE id LIKE '$id%'");
while($res=mysql_fetch_array($query)){
$id=$res["id"];
?>
<table class="table table-condensed">
<thead>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Email</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<tr>
<td><?php echo $res["id"];?></td>
<td><?php echo $res["name"];?></td>
<td><?php echo $res["productname"];?></td>
<td>
<select class="hotel" myid="tayyab" name="ostatus">
<option value="cancel">Cancel</option>
<option value="underp">underp</option>
<option value="deliver">deliver</option>
</select>
<button atr="<?php echo $id; ?>" class="myBtn">Change Status</button>
</td>
</tr>
</tbody>
</table>
</div>
我只得到第一行下拉列表的值
因为那是什么
var text = $(".hotel[myid='tayyab']").val();
说要做。您正在对.hotel[myid='tayyab']
进行全局搜索,然后使用val
获取第一个匹配的值
相反,您希望找到包含按下的特定按钮的tr
,然后在该tr
中搜索.hotel[myid='tayyab']
:
var text = $(this).closest("tr").find(".hotel[myid='tayyab']").val();
旁注:自定义属性应始终以a开头,例如,data myid
,而不是myid您可以根据id为每个下拉列表指定唯一的myid
,如下所示:
<select class="hotel" myid="tayyab_<?php echo $id; ?>" name="ostatus">
<option value="cancel">Cancel</option>
<option value="underp">underp</option>
<option value="deliver">deliver</option>
</select>
val()返回选择输入的选定选项,因此它总是只返回一个结果。如果没有选项具有所选属性,则该选项将具有其第一个选项的值
$(".myBtn").click(function(){
var id=$(this).attr("atr");
var myId = "tayyab_"+id;
var text = $(".hotel[myid='" + myId + "']").val();
alert(text);
$.ajax({
type: "POST",
url: 'updatestatus.php',
data: {id:id,status:text},
success: function(data){
$("#results").html(data);
}
});
});