0

提琴手

我很难用这个.....让我解释一下

我正在使用 ajax 从 db 中提取数据并将其附加到 dataHolder div - 直到现在一切正常 - 每个用户都有年 - 月 - 日 -

现在,如果想为第一个用户 peter 提供新的日期 - 当我单击确认 a 标签时,我选择年、月、日(这仅适用于第一个用户)

现在,如果我想为第二个用户亚历克斯提供新的日期-当我单击确认标签时,我只选择客户 ID-但对于年份和月份和日期来说什么都不是

请大家帮忙

//警报(年+月+日+ cid);仅输出用户 cid

让我向您展示代码以便更好地理解

$(document).ready(function() {

    $("#dataHolder").on('click', '.set', function() {

        var cid = $(this).attr('id')
        var year = $('#year').val();
        var month = $('#month').val();
        var day = $('#day').val();

        //alert( year + month + day + cid);

        $.ajax({
            url: 'confirm.php?id=' + cid + '&year=' + year + '&month=' + month + '&day=' + day,
            type: "POST",
            success: function(response) {
                console.log(response)
            }
        });
    });

    $('#btn').hide();

    $('#myform').on('change', function(e) {

        e.preventDefault();

        var select = $('#select').val();
        // ** console.log(select);

        var datasholder = $('#dataHolder').html('');

        $.ajax({
            type: 'POST',
            url: 'proccess.php',
            data: $(this).serialize(),
            success: function(data) {
                datasholder.append(data);
            }
        })
    })
})

// **下面拉出数据后

<div id="dataHolder">

    <table class="tablesorter bordered" id="myTable">
        <thead>
            <tr> 
                <th>No.</th>     
                <th>Client Name:</th>

            </tr>
        </thead>
        <tbody>
            <tr>
                <td>1</td>        
                <td>mohammed fathi</td>
                <td>

                    <input type="text" id="year" name="year" maxlength="4">&nbsp;

                    <select id="month" name="month">

                        <option value="">Select...</option>
                        <option value="01">January</option> 

                    </select>&nbsp;

                    <select style="width: 60px;" id="day" name="day">

                        <option value="">--</option>
                        <option value="01">01</option>
                        <option value="02">02</option>

                    </select>&nbsp;

                    <a style="cursor: pointer;" class="set" id="1">Confirm</a>  // ** confrim   
                </td>           
            </tr>  


            <tr>
                <td>1</td>        
                <td>mohammed fathi</td>
                <td>

                    <input type="text" id="year" name="year" maxlength="4">&nbsp;

                    <select id="month" name="month">

                        <option value="">Select...</option>
                        <option value="01">Jan</option> 
                        <option value="01">Feb</option> 

                    </select>&nbsp;

                    <select style="width: 60px;" id="day" name="day">

                        <option value="">--</option>
                        <option value="01">01</option>
                        <option value="02">02</option>

                    </select>&nbsp;

                    <a style="cursor: pointer;" class="set" id="2">Confirm</a>  // ** confrim   
                </td>           
            </tr> 


        </tbody>  
    </table>
</div>

//////// * ****第二次更新

$("#dataHolder").on('click','.set',function(){

              // do something

                 //var cid   = $(this).attr('id')
                 //var year  = $('#year').val();
                 //var month = $('#month').val();
                 //var day   = $('#day').val();

              var cid   = $(this).attr('id')
              var year  = $(this).siblings('.year').val();
              var month = $(this).siblings('.month').val();
              var day   = $(this).siblings('.day').val();


             alert( year + month + day + cid);

             $.ajax({
                url: 'confirm.php?id='+cid+'&year='+year+'&month='+month+'&day='+day, 
                type: "POST",
                success: function( response ){
                    console.log( response )
               }
            }); 
    });
4

1 回答 1

0

您不能在每一行中使用相同的 ID。更改id="year"class="year"(月和日相同)。然后将代码更改为:

 var cid   = $(this).attr('id');
 var year  = $(this).siblings('.year').val();
 var month = $(this).siblings('.month').val();
 var day   = $(this).siblings('.day').val();
于 2013-05-26T09:13:04.550 回答