Php 发送文本而不是值

Php 发送文本而不是值,php,jquery,html,ajax,Php,Jquery,Html,Ajax,我的脚本中有一个HTML属性: <select name="cars" onChange="getPrice(this.value)"> <option value="1">Volvo XC90</option> <option value="2">Saab 95</option> <option value="3">Mercedes SLK</option> <option

我的脚本中有一个HTML属性:

<select name="cars" onChange="getPrice(this.value)">
    <option value="1">Volvo XC90</option>
    <option value="2">Saab 95</option>
    <option value="3">Mercedes SLK</option>
    <option value="4">Audi TT</option>
</select>
send.php

<?php
$correct = true;
$product1 = $_POST['product1'] ;

if($correct){
    $db = new PDO('mysql:host=localhost;dbname=database', 'root', '');
    $query = "INSERT INTO forms(product1) VALUES (?)";
    $stmt = $db->prepare($query);
    $stmt->execute(array($product1));

            header("Location: ./print.php");  
    }
    else
    {
        echo "<br /><br />Error.<br />\n";
    }
?> 
一堆东西:

1.将
.val()
替换为
.text()

2.使用
名称
选择器(因为没有
id=cars的元素

编辑:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
function getPrice()
{
    var selectedItem = $( "#cars" ).val();
    alert(selectedItem);
}
</script>

<select name="cars" onChange="getPrice(this.value)" id="cars">
    <option id="1" value="Volvo XC90">Volvo XC90</option>
    <option id="2" value="Saab 95">Saab 95</option>
    <option id="3" value="Mercedes SLK">Mercedes SLK</option>
    <option id="4" value="Audi TT">Audi TT</option>
</select>

函数getPrice()
{
var selectedItem=$(“#cars”).val();
警报(selectedItem);
}
沃尔沃XC90
萨博95
梅赛德斯SLK
奥迪
使用html作为

<select name="cars" onChange="getPrice(this.value)">
<option value="">Select</option>
<option value="Volvo XC90">Volvo XC90</option>
<option value="Saab 95">Saab 95</option>
<option value="Mercedes SLK">Mercedes SLK</option>
<option value="Audi TT">Audi TT</option>
</select>
而不是

function getPrice() {
您已经在这里发送了所选的值,只需要捕获它

因此,无需再次编写代码,请删除此行

var selectedItem = jQuery('#cars option:selected').val();
还添加了一个新选项,当您在onchange中发送值时,该选项的值为空,在第一次加载时不会产生任何影响,它将在第一列中被选中

我建议首先检查
selectedItem
的notempty,然后选择ajax

函数getPrice(selectedItem){
警报(selectedItem);
}

挑选
沃尔沃XC90
萨博95
梅赛德斯SLK
奥迪

不,这不适合我。是否可以更改
send.php
以便
send.php
将文本发送到数据库而不是值?不幸的是,我不是php爱好者,而是上面提供的逻辑。这里有一个工作示例:我编辑了您的代码。我将
value
更改为
id
,并将文本粘贴到
value
中。这非常适合我的情况,但不起作用。您是否尝试过使用“var-selectedItem=This.options[This.selectedIndex].innerHTML;”?
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
function getPrice()
{
    var selectedItem = $( "#cars" ).val();
    alert(selectedItem);
}
</script>

<select name="cars" onChange="getPrice(this.value)" id="cars">
    <option id="1" value="Volvo XC90">Volvo XC90</option>
    <option id="2" value="Saab 95">Saab 95</option>
    <option id="3" value="Mercedes SLK">Mercedes SLK</option>
    <option id="4" value="Audi TT">Audi TT</option>
</select>
<select name="cars" onChange="getPrice(this.value)">
<option value="">Select</option>
<option value="Volvo XC90">Volvo XC90</option>
<option value="Saab 95">Saab 95</option>
<option value="Mercedes SLK">Mercedes SLK</option>
<option value="Audi TT">Audi TT</option>
</select>
function getPrice(selectedItem) {
function getPrice() {
var selectedItem = jQuery('#cars option:selected').val();