jQuery选择所有元素结束,而不是以

时间:2014-03-27 13:55:35

标签: jquery selector

我认为这应该选择以1000_from结尾的所有元素,而不是以rif_开头的元素。错误在哪里?

$('[id$=1000_from]:not[id^=rif_]');

修改

$('[id^=rif_][id$=_from]').on('keyup click change', function(){

    var rif_id = $(this).attr('id').split('_');

    var id = rif_id[1];
    var value = $(this).val();

    $('[id$='+id+'_from]:not([id^=rif_])').val(value);
});

它还会更新编辑值

HTML:

从中获取价值:

<input type="datetime-local"
       name="rif_<?=$rif['p']?>_from"
       id="rif_<?=$rif['p']?>_from" />

更新至(有许多元素以<?=$rif['p']?>_from结尾:

<input type="datetime-local"
       name="<?=$s['nr']?>_<?=$rif['p']?>_from"
       id="<?=$s['nr']?>_<?=$rif['p']?>_from" />

1 个答案:

答案 0 :(得分:1)

你应该把你的条件放在:not()

:not[id^=rif_]替换为:not([id^="rif_"])

ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").

更改输入字段中的ID:

<input type="datetime-local"
       name="<?=$s['nr']?>_<?=$rif['p']?>_from"
       id="<?=$s['nr']?>_<?=$rif['p']?>_from" />

试试这个:

$('[id$="1000_from"]:not([id^="rif_"])')

<强> DEMO