php - 使用 foreach 循环发布动态生成的文本框

标签 php jquery mysql

我想通过 foreach 循环使用 php 发布动态生成的多个文本框。 例如,我正在研究问题库并从 php 发布多个答案。 这是我动态生成文本框的代码,但现在我不知道如何通过 foreach 循环发布生成的文本框的值。

$("#questionbank").live('click',function(){
    var mydata = '<div id="questionbank-content" class="page">';
    mydata += '<div class="question"><div class="Label">Question</div><div class="textarea"><textarea id="question" rows="3" cols="30"></textarea></div></div><div class="answer"><div class="Label">Answer</div><div class="textarea"><textarea id="answer" rows="3" cols="30"></textarea></div><div class="option"><input id="a" name="answers" type="radio"></div><span id="add">Add</span>';
    var i=1;
    $('#add').live('click',function(){
         j=i++;
         $(this).after('<div class="Label">Answer</div><div class="textarea"><textarea id="answer + '+ j +'" rows="3" cols="30"></textarea></div><div class="option"><input id="a + '+ j +'" name="answers" type="radio"></div><span id="add">Add</span>');

        //$(this).after('<input id="'+ j +'" type="text" value="'+ j +'"/><span id="add">Add</span>');
        $(this).remove(); 
    });
    mydata += '</div></div>';
    $("#leftcontainer").html(mydata);

});

最佳答案

考虑以下 HTML

<div id="start">Start</div>

<div id="container">

</div>

我猜您想通过 $.post()$.ajax() 发布文本框/文本区域的每个值的数据

var i=1;
$('#start').one('click',function(){
    j=i++;
   $('#container').append('<input id="answer'+ j +'" type="text" value=""/><span id="add">Add</span>');
    $('#container').after('<div id="submit">Submit</div');
});

$('#add').live('click',function(){
     j=i++;
    $(this).after('<input id="answer'+ j +'" type="text" value=""/><span id="add">Add</span>');
    $(this).next().next().after('');
    $(this).remove(); 
});

$('#submit').live('click',function(){
    var x = $('#container > input');
    var qstring='op=insertquestion'; //additional para if u want to pass any
    $.each(x,function(index,value){
        var id = $(this).attr('id');
        var data = $(this).val();
        qstring += '&'+id+'='+data+'';
    });
    $('#start').before(qstring + '<br/>');
});

获得变量qstring后,只需使用$.post()方法发布字符串。

Example on JSFIDDLE.net

关于php - 使用 foreach 循环发布动态生成的文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6264132/

相关文章:

mysql - sql子串性能

php - 跟踪 PHP 中的每个函数调用

php - 表单字段和数据库表字段的名称相同?

javascript - JQueryui 菜单无法正确定位

javascript - 根据 <option> 值选择将背景更改为图片

php - 使用ajax和jquery从数据库中检索数据

php - MySQL 出现 PHP 错误

php - CodeIgniter:测量页面加载时间

jquery - 保存/提交时重新加载 jqGrid

php - 在 MySQL 中存储第二个复选框的值