使用jquery触发组合框事件

时间:2014-08-10 07:12:11

标签: php jquery

我有这段代码:

$show_location = mysql_query("SELECT * FROM location ORDER BY location_code");
  while($row_location = mysql_fetch_array($show_location))
  {
    $location_code = $row_location['location_code'];

    $show_store = mysql_query("SELECT * FROM store_list WHERE location LIKE '%$location_code%'");
        $count_store = mysql_num_rows($show_store);
    while($row_store = mysql_fetch_array($show_store))
    {
        $store_name = $row_store['store_name'];
    }

    if($count_store==0)
    {
        $status = "Inactive";
        echo '<option value="'.$location_code.'">'.$location_code.'</option>';

        $sql1 = "SELECT description FROM location WHERE location_code=$location_code";
        $result1 = mysql_query("$sql1");
        $row1 = mysql_fetch_assoc($result1);

        $description=$row1['description'];


    }
    else
    {
        $status = "Active";
    }

    //echo '<option value="'.$location_code.'">'.$location_code.'</option>';
  }

我想要做的是在表单中的某处显示$ description。我有那种组合框,你可以选择尽可能多的组合框。我想在选择一个位置后显示每个$ description。但我不知道在哪里触发。 sombody可以帮帮我吗?谢谢!

1 个答案:

答案 0 :(得分:0)

如果我错了,请更正我,但每个location_code都会有一个描述吗?

有两种方法:

1)简单但不那么有效的方式

为每个选定的值进行ajax调用。

$("#myDropDown").change(function (event) {
    //alert("You have Selected  :: "+$(this).val());
    $.ajax({
       type: "POST",
       url: "ajax.php",
       data: { type: "1", location: $(this).val() }
    }).done(function( msg ) {
        ("#mydata").html(msg)
    });
});

您可以在php端检查type == 1,获取说明并打印出来 上述方法将导致每个选择的ajax请求

2)有点复杂但有效

首先json_encode您的location_code和说明。它会变成{code:&#34; AU&#34 ;, description:&#34; blah blah&#34;}

然后使用类似的东西

$("#sel").change(function(e){
    //alert($(this).val());
    var array = $(this).val();
    for(key in array){
    var json = JSON.parse(array[key]);
    $("#desiptions").html(json.description);
    }

});