jQuery

2010-06-21 11 views
17

ile Giriş Kutusunun İçindeki Dizin Bölümünün Seçilmesi JQuery'yi kullanarak giriş kutusundaki metnin yalnızca bir kısmını nasıl vurgulayacağımı bulmaya çalışıyorum. Giriş kutusunun tüm içeriğini vurgulamak oldukça basittir, ancak sadece bir kelimeyi veya birkaç harfi nasıl vurgulayacaksınız?jQuery

Teşekkürler!

+0

, demek istiyorsun işaretleyin? Mavi, beyaz yazıyla mı? – Kobi

+1

_select_ ile ne demek istiyorsun? İmlecinizle seçtiğinizde ne olacağı gibi bir şeyden bahsediyor musunuz? – Kekoa

+0

İfadeyi düzelttim. Seçimi kullandım ama gerçekten kastettiğim şey vurgulamaktı. Hata için özür dilerim. – Lukasz

cevap

30

Metin için <input> öğeleri, aşağıdaki iş yapılacaktır. örnek girişte sadece kelime "iki" seçer: Seçilen olarak

"seçeneğini" ile

function setInputSelection(input, startPos, endPos) { 
 
    input.focus(); 
 
    if (typeof input.selectionStart != "undefined") { 
 
     input.selectionStart = startPos; 
 
     input.selectionEnd = endPos; 
 
    } else if (document.selection && document.selection.createRange) { 
 
     // IE branch 
 
     input.select(); 
 
     var range = document.selection.createRange(); 
 
     range.collapse(true); 
 
     range.moveEnd("character", endPos); 
 
     range.moveStart("character", startPos); 
 
     range.select(); 
 
    } 
 
} 
 

 
document.getElementById("setSelection").onmousedown = function() { 
 
    var input = document.getElementById("i"); 
 
    setInputSelection(input, 4, 7); 
 
    return false; 
 
};
<input id="i" type="text" value="One two three"> 
 
<input type="button" value="Set selection" id="setSelection">

+0

Bu tam olarak ihtiyacım olan şey! Teşekkürler! – Lukasz

+1

Dürüst olmak gerekirse, bunun bir eğitim yorumu olmadığını biliyorum, ancak gerçekten IE'ye gel! 7 satır kod 2'ye karşı. Elbette yolunuzu karıştırmak için daha fazla işlevsellik ekleyebilirsiniz, ancak gereksiz. Bu örnek için teşekkür ederim Tim! –

+0

@JasonFoglia: Boş satırların olabileceği textareas'ta bu eski IE'de bunu güvenilir bir şekilde yapmanın kodu daha büyüktür (http://stackoverflow.com/a/3373056/96100). Adil olmak gerekirse, IE 9 bunu 'selectionStart' ve' selectionEnd' destekleyerek düzeltir. –

-1

Tüm değeri seçmeniz ve sonra dizeyi kodda işlemeniz gerekir. Sözlerle ne yapmaya çalıştığınıza bağlı olarak, belirli kelimeleri/harfleri eşleştirmek için normal ifadeleri kullanmaya bakabilirsiniz.

+0

Kodunuz, giriş metin kutusunun içindeki bir metin bölümünü nasıl gösterir? –