简体   繁体   English

获取值以使用jQuery在多选择框的onchange中选择

[英]get values to select in onchange of Multi select box with Jquery

trying get values to <select> onchange of other <select> tag values. 试图获取值<select>的onchange其他的<select>标记值。 I have tow dropdown list called vehicle_type and part_type. 我有两个名为vehicle_type和part_type的下拉列表。 what i want to do when select the vehicle type and part type need change the part name dropdown list. 选择车辆类型和零件类型时我要做什么,需要更改零件名称下拉列表。 It is different to vehicle type and part type combination. 它与车辆类型和零件类型组合不同。 So I wrote following code. 所以我写了下面的代码。 Could some one help me to find the error of this code. 有人可以帮助我找到此代码的错误。 And I'm new to jquery 我是jquery新手

my html 我的HTML

<div>
                    <label>Vehicle Type</label>
                    <label>
                        <select name="vehicle_type" id="vehicle_type" required>
                          <option value='' disabled selected style='display:none;'>Select Vehicle</option>
                          <option value="Car">Car</option>
                          <option value="Van">Van</option>
                          <option value="SUV/4WD">SUV/4WD/CAB</option>
                          <option value="Truck">Truck</option>
                        </select>
                    </label>
                </div>
                <div>
                    <label>Part Type</label>
                    <label>
                        <select name="part_type" id="part_type" required>
                            <option value='' disabled selected style='display:none;'>Select Part Type</option>
                            <option value="Engine">Engine</option>
                            <option value="Body">Body</option>
                        </select>
                    </label>
                </div>
                <div>
                    <label>Part Name</label>
                    <label>
                        <select name="part_name" id="part_name" required>
                            <option value='' disabled selected style='display:none;'>Select Part Name</option>
                        </select>
                    </label>
                </div>

#dropdown.js
function setSelect(vehicle_type, part_type){
$.post("dropdown.php",{"vehicle_type":vehicle_type, "part_type":part_type},function(data){
    $("#part_name").html(data);
});
}

$(document).ready(function(){

$("#vehicle_type").live('change', function(){
    var vehicle = $(this+"option:selected").val();
});

$("#part_type").live('change', function(){
    var part = $(this+"option:selected").val();     
});

setSelect($("#vehicle_type option:selected").val(), $("#part_type option:selected").val());
});

my dropdown.php 我的dropdown.php

<?php
if(isset($_POST['vehicle_type'])&&isset($_POST['part_type'])){

    $vehicle_type =$_POST['vehicle_type'];
    $part_type    =$_POST['part_type'];

    if(($vehicle_type=="Car")&&($part_type=="Engine")){
        $partname  = "<option value=\"Engine Head Block\">Engine Head Block</option>";
        $partname .= "<option value=\"Engine Complete W/O Gear Box\">Engine Complete W/O Gear Box</option>";
        $partname .= "<option value=\"Engine With A/T CVT Gear Box\">Engine With A/T CVT Gear Box</option>";
} elseif(($vehicle_type=="Car")&&($part_type=="Body")){
        $partname  = "<option value=\"Nose Pannel / Parts\">Nose Pannel / Parts</option>";
        $partname .= "<option value=\"Front Bumper With Fog Lamp L/R\">Front Bumper With Fog Lamp L/R</option>";
        $partname .= "<option value=\"Front Bumper Bracket Retainer L/R\">Front Bumper Bracket Retainer L/R</option>";
}

Please tell me the error. 请告诉我错误。 I'm new to jquery 我是jquery新手

Try This: 尝试这个:

<?php
if(isset($_POST['vehicle_type'])&&isset($_POST['part_type'])){

$vehicle_type =$_POST['vehicle_type'];
$part_type    =$_POST['part_type'];

if(($vehicle_type=="Car")&&($part_type=="Engine")){
    $partname  = "<option value=\"Engine Head Block\">Engine Head Block</option>";
    $partname .= "<option value=\"Engine Complete W/O Gear Box\">Engine Complete W/O Gear Box</option>";
    $partname .= "<option value=\"Engine With A/T CVT Gear Box\">Engine With A/T CVT Gear Box</option>";
 } elseif(($vehicle_type=="Car")&&($part_type=="Body")){
    $partname  = "<option value=\"Nose Pannel / Parts\">Nose Pannel / Parts</option>";
    $partname .= "<option value=\"Front Bumper With Fog Lamp L/R\">Front Bumper With Fog Lamp L/R</option>";
    $partname .= "<option value=\"Front Bumper Bracket Retainer L/R\">Front Bumper Bracket Retainer L/R</option>";
 }
 echo $partname;
}
?>

No need to change HTMLs. 无需更改HTML。 just change JS to 只需将JS更改为

<script type="text/javascript">

function setSelect(vehicle_type, part_type){
//alert(vehicle_type+part_type);
 $.post("dropdown.php",{"vehicle_type":vehicle_type, "part_type":part_type},function(data){
  $("#part_name").html(data);

 });
 }

 $(document).ready(function(){

 $("#vehicle_type").change(function(){
var vehicle = $("option:selected",this).val();

 });

 $("#part_type").change(function(){
 var part = $("option:selected",this).val();   
 setSelect($("#vehicle_type option:selected").val(), $("#part_type option:selected").val());
 });


  });
</script>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM