单击li项目时如何通过AJAX传递li标签ID?

时间:2014-12-16 06:59:47

标签: javascript php jquery html ajax

我想通过点击li标签值来传递id值来显示城市功能,任何相关方法都被接受

<script type = "text/javascript" >
  function showCity(str) {
    if (str == "") {
      document.getElementById("city").innerHTML = "";
      return;
    } else {
      if (window.XMLHttpRequest) {
        // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
      } else {
        // code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      }
      xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
          document.getElementById("city").innerHTML = xmlhttp.responseText;
        }
      }

      xmlhttp.open("GET", "city.php?q=" + str, true);
      xmlhttp.send();

    }
  } 
</script>


<div id="menu">
  <ol id="test">

    <?php $stat=m ysql_query( "select * from `tms_state`"); while (($st=m ysql_fetch_array($stat))) { ?>

    <li onclick="showCity('this.value')">
      <?php echo "<option value='" . $st[ 'id'] . "'>" . $st[ 'name'] . "</option>";?>
    </li>

    <?php } ?>

  </ol>

</div>

我想通过点击li标签值来传递id值来显示城市功能。

2 个答案:

答案 0 :(得分:0)

<div id="menu">
    <ol id="test">

    <?php 
       $stat=m ysql_query( "select * from `tms_state`");
       while (($st=m ysql_fetch_array($stat))) { ?>

      <li onclick="showCity('<?php echo $st[ 'id'] ?>')">
          <?php echo "$st[ 'id']";?>
       </li>

    <?php } ?>

     </ol>

</div>

答案 1 :(得分:0)

使用jQuery可以轻松完成这项工作 -

$(document).ready(function(){
    $('#test li').click(function () {
        var str = $(this).val();

        $.ajax(
            {
                url: "city.php?q=" + str,
                success: function (result) {
                    $("#city").html(result);
                }
            });
      });
 });