使用PHP中的Jquery从动态添加的选择检索值 [英] Retrieve values from dynamically added selects using Jquery in PHP

查看:86
本文介绍了使用PHP中的Jquery从动态添加的选择检索值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想链接3个选择,并且使用此代码使它起作用. http://jsfiddle.net/FJFFJ/1/

I wanted to chain 3 selects and I got it working using this code. http://jsfiddle.net/FJFFJ/1/

<div id="filter">
            <a id="clone" href="#">+</a> <a id="remove" href="#">-</a>

        </div>
        <div id="template">
            <select class="pais">
                <option value="1">Argentina</option>
                <option value="2">Chile</option>
            </select>
            <select class="provincia">
                <option value="1" class="1">San Juan</option>
                <option value="2" class="1">Mendoza</option>
                <option value="3" class="2">La Serena</option>
                <option value="4" class="2">Santiago</option>
            </select>
            <select class="ciudad">
                <option value="1" class="1">Rawson</option>
                <option value="2" class="2">Godoy Cruz</option>
                <option value="3" class="3">Coquimbo</option>
                <option value="4" class="4">Chiñihue</option>
            </select>
        </div>

我现在遇到的问题是,如何从PHP的每个下拉列表中获取选定的值? 例如,上面在打开页面时创建了3个选择框. 当我单击"+"按钮并添加更多选择行时,如何从动态添加的所有选择中获取值?

The issue I now have is, how do I fetch the selected values from each dropdown in PHP? For example, the above creates 3 select boxes when the page is opened. When I click on "+" button and add more rows of selects, how do I fetch the values from all selects which were added dynamically?

这就是我现在所做的?但仍然无法正常工作.

this is what I did now? but still doesnt work.

<?php
if(isset($_POST['submit'])){
    foreach($_POST['semester'] as $sem){
        echo $sem;
    }
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
  <script type='text/javascript' src='http://code.jquery.com/jquery-1.5.js'></script>
  <link rel="stylesheet" type="text/css" href="/css/normalize.css">


  <link rel="stylesheet" type="text/css" href="/css/result-light.css">



      <script type='text/javascript' src="http://www.appelsiini.net/download/jquery.chained.mini.js"></script>


  <style type='text/css'>
    #template{
    display:none;
}
  </style>



<script type='text/javascript'>//<![CDATA[ 
$(window).load(function(){
$(function() {

    // Form element cloning
    var i = 0;
    $('#clone').click(function() {

        $('#template').clone().appendTo('#filter');
        $('#filter #template').attr('id', 'duplicate' + i);
        $('#filter div:hidden').show();


        chainItWithId(i);
        i++;
    });
    $('#remove').click(function() {
        $('#filter > div').last().remove();
    });

    $('#clone').click();
});

function chainItWithId(id) {
    $('#duplicate' + id + ' .department').chained('#duplicate' + id + ' .semester');
    $('#duplicate' + id + ' .subject').chained('#duplicate' + id + ' .department');
}


function chainTemp() {
    $('#template .department').chained('#template .semester');
    $('#template .subject').chained('#template .department');
}
});//]]>  

</script>
</head>

<body>
<div id="filter">
            <a id="clone" href="#">+</a> <a id="remove" href="#">-</a>

        </div>
        <form name="request" action="<?php $_SERVER['PHP_SELF']?>" method="post">
        <div id="template">
            <select class="semester" name="semester[]">
                <option value="1">1</option>
                <option value="2">2</option>
            </select>
            <select class="department" name="department[]">
                <option value="EEE" class="1">EEE</option>
                <option value="ECE" class="1">ECE</option>
                <option value="MECH" class="2">MECH</option>
                <option value="CSE" class="2">CSE</option>
            </select>
            <select class="subject">
                <option value="1" class="EEE ECE">S1</option>
                <option value="2" class="ECE">S2</option>
                <option value="3" class="MECH">S3</option>
                <option value="4" class="CSE">S4</option>
                                <option value="5" class="MECH">S5</option>
                <option value="6" class="CSE EEE">S6</option>
            </select>
        </div>
        <input type="submit" name="submit" value="submit" />
</form>
</body>
</html>

例如,

推荐答案

向您的选择框添加ID html中的更改:

add an id to your select box, for instance changes in html:

 <select class="provincia" id="provincia" name="provincia">
            <option value="1" class="1">San Juan</option>
            <option value="2" class="1">Mendoza</option>
            <option value="3" class="2">La Serena</option>
            <option value="4" class="2">Santiago</option>
        </select>

使用jquery获取选定的值

get selected value using jquery

var first = $("#provincia option:selected").text();
var second = $("#pais option:selected").text();
var third = $("#ciudad option:selected").text();

将这些值发送给ajax call.现在您可以使用php.

send those values to ajax call.now you can get in php.

如果您不知道id值,则通过 使用jquery序列化序列化表单数据,并使用jax调用将其转换为php.

if you dont know the id values then do it by serialize the form data using jquery serialize and it to php by using jax call.

示例

$( "form" ).on( "submit", function( event ) {
event.preventDefault();
console.log( $(this).serialize() );

});

这篇关于使用PHP中的Jquery从动态添加的选择检索值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆