从jQuery POST中删除一些文本

时间:2012-09-10 10:34:12

标签: jquery ajax post replace

我有以下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

如何删除文本“start”以便我只将INT值发布到update.php?

2 个答案:

答案 0 :(得分:2)

试试这个:

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

您也可以编码:

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

这比创建不必要的jQuery对象更快更好。

答案 1 :(得分: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();
})