最接近('tr')不与Jeditable合作

时间:2015-05-30 17:44:29

标签: jquery jeditable

我正在使用插件Jeditable并且不明白为什么所有参数都不在请求中。

渲染前的HTML:

<tbody>
    @foreach ($liste_eleve_note as $eleve_note)
    <tr data-user-id="{{{ $eleve_note->id_personne }}}">
        <td>{{{ $eleve_note->nom }}}&nbsp;{{{ $eleve_note->prenom }}}</td>
        <td class="edit_area" >{{{ $eleve_note->note_num }}}</td>
        <td class="edit_area" >{{{ $eleve_note->appreciation }}}</td>
    </tr>
    @endforeach
</tbody>

呈现HTML:

<tbody>
    <tr data-user-id="3">
        <td>HACKETT&nbsp;Steve</td>
        <td class="edit_area" >22.00</td>
        <td class="edit_area" ></td>
    </tr>
    <tr data-user-id="106">
        <td>BRUFFORD&nbsp;Bill</td>
        <td class="edit_area" >0.00</td>
        <td class="edit_area" ></td>
    </tr>
    <tr data-user-id="107">
        <td>LENNON&nbsp;John</td>
        <td class="edit_area" ></td>
        <td class="edit_area" ></td>
    </tr>
</tbody>

jQuery的:

$('.edit_area').editable($('#url_for_ajax').val()+'/edit_note_epreuve', {
    indicator : 'Saving...',
    tooltip   : 'Click to edit...',
    onblur : 'submit',
    submitdata : {  
        'user_id'       : $(this).closest('tr').data('user-id'),
        'id_epreuve'    : $('#id_epreuve').val(),
        '_token'        : $('meta[name="_token"]').attr( 'content' )
    },
    onerror : function(settings,original,xhr) {
        alert("It wasn't possible to edit. Try again");
        console.log("XHR Status: " + xhr.status);
    } 
});

发送到服务器的请求:

enter image description here

缺少参数user_id。我们有插件自动添加的参数idvalue,我们有JavaScript添加的参数_tokenid_epreuve

但不是参数user_id

为什么会这样?

1 个答案:

答案 0 :(得分:0)

似乎typedef L2_Adaptor<uint8_t, self_t, int64_t> metric_t; 期望将$(this).closest('tr').data('user-id')设置为您正在调用this的{​​{1}} ...但正如所写,您正在使用{{1}当你进行td.edit_area通话时。如果editable()位于this代码之外,则$('.edit_area').editable()将找不到this,这可能会将其从帖子中排除。

这可能会解决它(注意:未经测试!)

<tr>