在ajax中选择多个var

Select multiple var in ajax

本文关键字:var 选择 ajax      更新时间:2023-09-26

我想发送php生成的HTML元素的多个属性,同时通过Ajax调用进行循环。

例如:

<div id="chart" >
    $i=1;
    while($i<10){
       <input type="text" calss="item" id="$i" >   
       $i++;
    }
 </div>

上面的代码代表了我想通过ajax代码发送的部分信息,如下所示。输入id与表示不同项目的页面不同。我的问题是如何选择那些id来获取input&同时将它们声明为变量,这样我就可以通过AJAX调用传递这些值。`

var main = function() {
$('.btn').click(function(){
var item1=$('#1').val();
var item2=$('#2').val();
var item3=$('#3').val();
var item4=$('#4').val();
var item5=$('#5').val();
var item6=$('#6').val();
var item7=$('#7').val();
var item8=$('#8').val();
var item9=$('#9').val();
 $.ajax({
    type:"POST",
    url: "something.php",
    cache:0,
    data:({
     "item1":item1,
     "item2":item2,
    "item3":item3,
   "item4":item4,
    "item5":item5,
    "item6":item6,
    "item7":item7,
    "item8":item8,
    "item9":item9,
    }),
    success:function(result){
    $('#chart').html(result);
    },
    complete:function(){
        alert('good!!');
    }   
     });
 });
 }
   $(document).ready(main);`

我不确定我是否答对了你的问题,但下面的问题不应该奏效吗?

通过ID 使用jquery进行选择

var myInputObject = $("#1");
alert(myInputObject.val());

$("#1")返回id为1的字段

或按类别选择

var myInputObjects = $(".item");

$(".item")返回具有属性class=item 的所有字段

jQuery选择器API-文档

创建:

<div id="chart" />
<script type="text/javascript">
    for(var i = 1;i<10;i++){
        $('<input/>', {
           id: i,
           class: "item",
           type: "text"
        }).appendTo('#myFields');
    {
</script>

-->创建10个input元素并将其附加到<div id="chart" />

创建帖子请求:

var postData = $(this).serializeArray();
$.ajax({
    type:"POST",
    url: "something.php",
    cache:0,
    data : postData,
    success:function(data, textStatus, jqXHR)
    {
        //data: return data from server
    },
    error: function(jqXHR, textStatus, errorThrown)
    {
        //if fails     
    }
});

->将您的表格作为POST请求发送到something.php。。。在那里,您可以通过$_POST["1"]

获得您的值

我在这里使用了一个方法如何使用jQuery获取数组,multiple<输入>用相同的名字来解决我的问题最终

       var main=function(){
      $('.btn').click(function(){
       var items-name = $('input[class="item"]').map(function(){
            return $(this).val();
            }).get();
       var items-id=$('input[class="item"]').map(function(){
            return $(this).attr('id');
        }).get();
        $.ajax({
        type:"POST",
        url: "something.php",
        cache:0,
        data:({
         "name":items-name,
         "id":items-id                  
        }),
         success:function(){
        alert('done');
        }
       });
        });
         }
        $(document).ready(main);