Onchange下拉值查询resp。表 - 带有 php 、 mysql 、 ajax 、 jquery

Posted

技术标签:

【中文标题】Onchange下拉值查询resp。表 - 带有 php 、 mysql 、 ajax 、 jquery【英文标题】:Onchange dropdown values query resp. tables - with php , mysql , ajax , jquery 【发布时间】:2014-01-31 21:04:13 【问题描述】:

主下拉菜单:

<select name="sometest">
  <option value="1"> A </option>
  <option value="2"> B </option>
  <option value="3"> C </option>
  <option value="4"> D </option>
  <option value="5"> E </option>
</select>

现在在这里,当值 1、2、3、4 处于更改状态时,它应该从 table_1 获取其详细信息,而当值 5 处于更改状态时,其详细信息来自另一个 table_2 的字段(名称、大小、标题)。

请注意 table_1 和 table_2 具有相同的列字段名称。

现在在相应的 onchange 之后。值我得到另一个下拉列表,分别是。表查询。

假设当我对 1 或 2 或 3 或 4 值进行更改时,它会使用字段名称、大小、标题查询 table_1 并将其列在相应的下拉部分下。

下拉列表:table_1 中 1、2、3、4 的变化值

这里:列“名称”所有值都列在名称下,列“大小”所有值列在大小下,列“标题”所有值列在标题下来自table_1

<select name="name">
  <option value="n1"> Apple </option>
  <option value="n2"> Boy </option>
  <option value="n3"> Cat </option>
</select>

<select name="size">
  <option value="12"> 0-1 </option>
  <option value="21"> 1-1 </option>
</select>


<select name="title">
  <option value="1"> whatever </option>
  <option value="2"> same whatever </option>
</select>

类似地,当从 Main Drop-down 中选择 Value 5 时,它会从 table_2 中查询所有列字段并将其列在相应的下方。下拉

【问题讨论】:

你使用 ajax 来获取结果? 我是新手,所以不知道..因此寻求帮助:( 你尝试过任何代码吗? @ Mahmood,正如我所说我是 jquery 和 ajax 的新手 .. 但是是的,我尝试研究 jquery 和 ajax,经过一些研究,我知道了循环中使用 ajax 的 jquery 的 Onchange可能对我有帮助..但从哪里开始感到困惑,因为从主下拉列表中我必须根据其值查询 2 个表 【参考方案1】:

user ajax onchange 选择框传select的值

html

 <select name="sometest" onchange="javascript:call_ajax_fun(this.value);">
      <option value="1"> A </option>
      <option value="2"> B </option>
      <option value="3"> C </option>
      <option value="4"> D </option>
      <option value="5"> E </option>
    </select>

JS Ajax 函数

function call_ajax_fun(str)


    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)
        

            var result = xmlhttp.responseText;
            if(xmlhttp.responseText!='')
            
                document.getElementById('your_result_div_id').innerHTML =result ;
                            // put your result in your div 
               
        
    



    var url="get_result.php?pas_val="str;

    xmlhttp.open("GET",url,true);

    xmlhttp.send();

你得到的结果文件如下

get_result.php

<?php
if(isset($_REQUEST['pas_val']))

   $pas_val = $_REQUEST['pas_val'];
   if($pas_val<5)
   
     $tbl = "table_1";
   
   else
  
     $tbl = "table_2";
  


// your table is in $tbl variable
//   your your table here in your code



else

  exit;

?>

【讨论】:

@Satish 感谢您的回复,但是列出我的其他下拉列表值呢?按列字段的表格 @user2906577 在 get_result.php 上的 if-else 中使用 $pas_val 并在我编辑答案时定义您的表格。

以上是关于Onchange下拉值查询resp。表 - 带有 php 、 mysql 、 ajax 、 jquery的主要内容,如果未能解决你的问题,请参考以下文章

带有选择下拉菜单的 Blazor onchange 事件

在使用表中的连接列值填充列表框时,如何检索相应的 ID 并传递值 onchange [关闭]

vue下拉框如何控制onblur和onchange

从下拉列表中更改不同的表 (onChange)

强制触发选择下拉菜单的 onChange

关于下拉框的onchange事件和onclick选择value值。