首页 文章

选择下拉列表中的值然后用php,ajax,jquery显示编辑表单? [关闭]

提问于
浏览
-4

我有一张表格

<html>
<head>
</head>
<body>
<form>
    <select id="groups">
    <optgroup label="GroupA">
    <option value="2">[GroupA]  value1</option>
    <option value="11">[GroupA] value2</option>
    <option value="14">[GroupA] value3</option>
    <option value="15">[GroupA] value4</option>
    <option value="601">[GroupA] value5</option>
    <option value="21">[GroupA] value6</option>
    <option value="23">[GroupA] value7</option>
    <option value="24">[GroupA] value8</option> 
    </optgroup>
    ...
 </select>
</form>

<div id="txtHint"><b>Show edit form here.</b></div> </body> </html>

当用户从下拉列表中选择值时,将出现编辑表单,编辑值将使用选择的值进行查询 . 任何人都可以帮我用php,ajax,jquery做到这一点?

谢谢

3 回答

  • 1

    嗯,也许你可以尝试:

    $("select#idOfYourSelectElement").change(function(){
        $.ajax({
            url: "ajax/myphpajax.php",
            data: "acction=loadForm&selectedElement=" + $(this).val(),
            async: false,
            success: function(htmlWithNewForm){
                $("div#txtHint").html(htmlWithNewForm);
                //if the div is hidden
                $("div#txtHint").css("visibility","visible");
            }
        });
    });
    
  • 1

    要获得应该在元素周围添加的下拉/选择框的选定值,可以使用jQuery来获取,如下所示:

    <select id="groups">
      <optgroup label="GroupA"> 
        <option value="2">[GroupA]  value1</option>
        ....
      </optgroup>
    </select>
    
    $(function() {
      $("#groups").change(function() {
          var selectedValue = this.val();
      });
    });
    
  • 1

    嗯,有很多方法可以做到这一点 .

    一种方法是设置一个url,你可以使用返回基于select下拉值的HTML片段的值来命中 .

    基本流程将是:

    Javascript代码:

    $('select_id_here').change(function() {
      var url = "path_here/to_something
      $.ajax({
        url: url,
        type: "get",
        data: {
          "value": this.val()
        }
    }).done(function(html) {
      $('txtHint').html(html)
    });
    

    PHP控制器将有一个函数来处理您正在调用的url并根据值返回html . 如何执行此操作取决于您使用的框架 .

    function handle_to_something() {
      $value = $_GET['value']; // horrible to use GET array
      $html = render("path/to/template/$value.html");
      return $html;
    }
    

相关问题