0

我正在使用x-editable插件的引导版本来更新url表中存在的值。当用户更改select框的值时,将触发 ajax 调用以检索url商店的对应值。虽然我每次在更新 url 值之前都取消绑定 x-editable 事件,但有些事情是不对的。url 只更新一次,然后对于其余的选择更改事件保持不变。

<select id="search">
    <option value='1'>store 1</option>
    <option value='2'>store 2</option>
    <option value='3'>store 3</option>
</select>

<table>
    ...
    <tbody>
        <tr>
            <td><a href='#' id='url_qa'></a></td>
        </tr>
    </tbody>
</table>

    // Select box change event
    $('#search').change(function() {
        // ajax call to load the url based on chosen select value
        $.ajax({ 
            url: 'load.php',
            type: 'post',
            dataType: 'json',
            data: {'id': $(this).val()},
        }).done(function(data) {
            $('#url').editable('destroy'); // destroy editable
            $('#url').editable({
                type: 'text',
                pk: 1,
                url: '/post',
                title: 'Enter username',
                value: data['url']
            });
        }).fail(function() {
            alert('Error: Unable to fetch information for the chosen id');
        });
    });

当我更改我的选择值时会发生以下情况

  • 当我第一次更改选择值时,url 是空的并且没有得到更新。

  • 但是当我第二次更改选择值时,url 被更改。

  • 并且对于在此之后的所有选择值更改,第二个 url 根本不会更新。

演示:JSFiddle

4

0 回答 0