2014-03-27 54 views
0

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

$('[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

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

在你输入栏: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替换:not[id^=rif_]

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

试试这个:

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

DEMO

+0

@Perocat:检查更新的小提琴。如果你仍然面临一个问题,用你的html和jquery代码制作[fiddle](http://jsfiddle.net)。 – Unknown

+0

问题在哪里?在''''或'(...)'上。什么时候应该使用“”与选择器?谢谢! – Perocat

+0

@Perocat:更新与说明检查兄弟:) – Unknown

相关问题