更改当前索引输入动态jQuery

时间:2015-02-26 17:17:53

标签: javascript jquery regex each

我希望在删除输入后更改输入名称中的当前Idx(索引)。

在输入名称的开头是:

第1行:airline[0] flight_time[0] flight_number[0]
第2行:dOfv[]
第3行:airline[2] flight_time[2] flight_number[2]

现在,在删除第2行之后,我希望在其他行中更改输入名称,如下所示:

第1行:airline[0] flight_time[0] flight_number[0]
第3行:airline[1] flight_time[1] flight_number[1]

DEMO:http://jsfiddle.net/5nykq0e6/

我该怎么办?

HTML:

<div class="one">
    1.<input name="airline[0]">
        <input name="flight_time[0]">
            <input name="flight_number[0]">
    <a href="" class="remove_input">X</a>
</div>
<div class="one">
    2.<textarea name="dOfv[]"></textarea>
    <a href="" class="remove_input">X</a>
</div>
<div class="one">
    3.<input name="airline[2]">
        <input name="flight_time[2]">
            <input name="flight_number[2]">
    <a href="" class="remove_input">X</a>
</div>

JS:

$(document).on('click', 'a.remove_input', function(e) {
    e.preventDefault();
    $(this).closest('div.one').remove();

    $('.one').each(function(i, el) {
        //return parseInt($.trim(text)) - 1;
        var text = $(el).text();
        var currentIdx = parseInt(str.match(/\d+/)[0], 10);
        $(el).text('name', str.replace(currentIdx, i));
    })

})

1 个答案:

答案 0 :(得分:0)

str从未被您的文字定义为替换:

$(el).text('name', text.replace(currentIdx, i));

http://jsfiddle.net/5nykq0e6/1/