1

私は次のものを持っていますHTML

<input type='text' name='af_student_startdate' id='start115'>
<input type='text' name='af_student_startdate' id='start116'>

そして以下jQuery

$('#save').click(function() {

    var values = {};

    $('input[name="af_student_startdate"]').each(function(n, el){
        values [ $(el).attr('id') ] = $(el).val();
    });

    $.ajax( {
    type : 'POST',
    url : '/update.php',
    data : {af_student_startdate: values}
  });

})

これはPOST、たとえば次のようになります。

af_student_startdate[start115]  2012-09-01
af_student_startdate[start116]  2012-09-25

INT値をupdate.phpにのみPOSTするように、テキスト「start」を削除するにはどうすればよいですか?

4

2 に答える 2

2

これを試して:

values [ $(el).attr('id').match(/\d+/g) ] = $(el).val();

次のようにコーディングすることもできます。

values [ this.id.match(/\d+/g) ] = this.value;

これは、不要なjQueryオブジェクトを作成するよりも高速で優れています。

于 2012-09-10T10:35:18.250 に答える
1

あるいは、これを行うことができます

<form method="POST" action="/update.php" id="af_student_startdate_update_form" onsubmit="return false;">
<input type='text' name='af_student_startdate[115]' id='start115'>
<input type='text' name='af_student_startdate[116]' id='start116'>
</form>

$.ajax({
    type : 'POST',
    url : '/update.php',
    data : $('#af_student_startdate_update_form').serialize();
})
于 2012-09-10T10:40:08.757 に答える