2014-03-27 55 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

相關問題