php
  • jquery
  • mysql
  • 2011-06-07 38 views 0 likes 
    0

    我想使用PHP通過foreach循環發佈動態生成的多個文本框。 例如我m在問題銀行工作,並從PHP後多個答案。 這裏是我的代碼,動態生成的文本框,但現在我不知道如何通過foreach循環發佈生成的文本框的值。使用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); 
    
    }); 
    
    +1

    是文本框的一部分嗎? – Richard 2011-06-07 10:53:47

    +0

    不,它不是形式的一部分 – 2011-06-07 10:59:27

    回答

    1

    考慮下面的HTML

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

    我想你想你的變量qstring後剛剛發佈,從文本/文本區域的每個值由$.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/>'); 
    }); 
    

    發佈數據字符串使用$.post()方法。

    Example on JSFIDDLE.net

    0

    最簡單的方法是構建textarea並通過jQuery提交按鈕並附加一個點擊處理程序。不是一個完整的解決方案,但它應該有希望給你一個想法:

    $("#add").live("click", function() { 
        var textarea = $("<textarea />", { "class": "textarea" }); 
        var submitButton = $("<button />", { "type": "submit" }); 
    
        submitButton.bind("click", function() { 
         var text = textarea.val(); 
         $.post("/path/to/script.php", { text: text }); 
        }); 
    }); 
    

    這將創建一個textarea和一個提交按鈕。當調用提交按鈕時,HTTP POST將以textarea內容作爲參數對script.php進行處理。

    +0

    你可以給任何其他代碼發佈動態生成的文本框值通過foreach循環 – 2011-06-07 11:46:32

    +0

    你可以給任何其他代碼發佈動態生成的文本框值通過foreach循環 – 2011-06-07 12:11:19

    相關問題