jquery用另一个问题替换一个数字

时间:2013-09-05 09:22:24

标签: jquery wordpress

我正在尝试在Wordpress中使用可重复字段进行自定义元变量,包括每个输入前的数字(它是专辑的曲目列表),如下所示:

  1. 标题(删除)
  2. 标题(删除)
  3. 等等
  4. 我有一个“删除”按钮来删除字段,我需要更新到优于我更换的数字。 当我删除一个字段时,每次替换数字(及其ID)都可以正常工作,除非在一种情况下,当有超过(完全)10个fiels时,数字上级或等于10不会被替换。

    但如果删除第11个字段,则第12个字段将正确地将其数字替换为“11”。

    这是我的jquery:

    jQuery('.repeatable-remove').click(function(){
    var splittingNumber = jQuery(this).parent().find('input').attr('id');
    var splitNumber = splittingNumber.split('_');
    var splittedNumber = splitNumber[2];
    
    jQuery('.album_track').each(function() {
    
        var albumSplitNumber = this.id.split('_');
        var albumSplittedNumber = albumSplitNumber[2];
        var albumSplittedMinusOne = albumSplittedNumber - 1;
    
        if (albumSplittedNumber > splittedNumber) {                 
    
            if (albumSplittedNumber >= 10) {
                jQuery(this).parent().find('.repeatable-autonumber').empty().append(albumSplittedMinusOne+'. ');                    
            }
            else if (splittedNumber < 10) {
                jQuery(this).parent().find('.repeatable-autonumber').empty().append('0'+albumSplittedMinusOne+'. ');
            };
    
            jQuery(this).attr('id', 'album_track_'+albumSplittedMinusOne);
            jQuery(this).attr('name', 'album_track_'+albumSplittedMinusOne);
    
        };
    
    })
    
    jQuery(this).parent().remove();
    return false;
    });
    

    有关信息,我使用名为“album_track_1”,“album_track_2”等ID字段执行此操作...

    我真的不明白为什么数字10的问题......

    编辑HTML代码:

    <ul id="<?php echo $album_tracklist_field['id']; ?>-repeatable" class="custom_repeatable">
    <?php
    $i = 1;
    if (isset($custom["album_track_$i"][0])) {  
        while(!empty($custom["album_track_$i"][0])) {
            ?>
            <li>
                <span class="repeatable-autonumber"><?php if ($i <= 10) { echo '0'.$i.'. '; } else { echo $i.'. '; } ?></span> 
                <input type="text" class="regular-text code album_track" name="album_track_<?php echo $i; ?>" id="album_track_<?php echo $i; ?>" value="<?php echo $custom["album_track_$i"][0]; ?>"> 
                <span class="repeatable-remove"><?php _e('Remove', 'albums') ?></span>
            </li>
            <?php
            $i++;  
        }  
    } else {  
        ?>
        <li>
            <span class="repeatable-autonumber">01. </span>
            <input type="text" class="regular-text code album_track" name="<?php echo 'album_track_' . $i; ?>" id="<?php echo 'album_track_' . $i; ?>" value="" placeholder="<?php _e('Enter the name of the song', 'albums') ?>"> 
            <span class="repeatable-remove"><?php _e('Remove', 'albums') ?></span>
        </li>
        <?php
    }  
    ?>
    

1 个答案:

答案 0 :(得分:0)

我在这里找到答案:https://stackoverflow.com/a/12384401/2694542

感谢那些试图提供帮助的人