2014-02-16 27 views
0

我在网上发现了这个代码片段,它正是我作为一个初学者需要从jquery中学习的东西。我的问题是,我如何能够传递/传递在html头标记的jquery脚本部分中使用的counter的值。从jquery函数通过提交表单传递var的方式

当我谈到转移我的意思是当我点击提交按钮,假设我有一个窗体并将其发送给我的CI_controller。

除了要求你们从任何功能来做到这一点,我已经想到了一种方法我自己。我打算做一个隐藏的文本框,每次添加或删除文本框,我会把计数器的值放入该文本框,所以当我点击提交按钮时,她知道有多少文本框是动态添加的。虽然,即时通讯仍然是新的,所以我不知道这样做的语法。

这是摘录。

<script type="text/javascript"> 

$(document).ready(function(){ 

    var counter = 2; 

    $("#addButton").click(function() { 

    if(counter>10){ 
      alert("Only 10 textboxes allow"); 
      return false; 
    } 

    var newTextBoxDiv = $(document.createElement('div')) 
     .attr("id", 'TextBoxDiv' + counter); 

    newTextBoxDiv.after().html('<label>Textbox #'+ counter + ' : </label>' + 
      '<input type="text" name="textbox' + counter + 
      '" id="textbox' + counter + '" value="" >'); 

    newTextBoxDiv.appendTo("#TextBoxesGroup"); 


    counter++; 
    }); 

    $("#removeButton").click(function() { 
    if(counter==1){ 
      alert("No more textbox to remove"); 
      return false; 
     } 

    counter--; 

     $("#TextBoxDiv" + counter).remove(); 

    }); 

    $("#getButtonValue").click(function() { 

    var msg = ''; 
    for(i=1; i<counter; i++){ 
     msg += "\n Textbox #" + i + " : " + $('#textbox' + i).val(); 
    } 
      alert(msg); 
    }); 
    }); 
</script> 

回答

0

只需将使用jQuery像这样的形式输入值:假设你有一个表单,它看起来像类似

$('form input#field-id').val(yourData); // where yourData is JavaScript variable containing the data/information 

<form action='/save-data' method='post'> 
    <input type="text" id="field-id" name="data-name" /> 

    <input type="text" id="other-field" name="other-data-name" /> 
</form> 

编辑:上客户端可以做$('form textarea')。size(),它将返回特定表单内textareas的数量。

在服务器端,你可以通过$ _ POST循环来找出有多少文本框具有像这样:

$boxcount = 0; 
foreach ($_POST as $name => $value) { 
    if (strpos($name, "textbox") == 0) { 
     $boxcount += 1; 
    } 
} 
+0

林不知道如果我理解你的答案,而是要说明我的问题。 示例,我动态地添加了4个文本框,名称为textbox1到textbox4。因为它的动态我没有办法知道我的控制器上有多少文本框。所以为了让我知道有多少文本框,所以我可以用$ _POST获取所有值,我需要在添加(name =“textbox”+ count)时指定文本框名称的var count – user3205047

+0

我更新了我的答案 –

+0

您能向我解释strpos($ name,“textbox”)的代码行吗? 它是否像LIKE查询一样工作,在该查询中它搜索任何名称中包含“textbox” – user3205047