24 ÅžUBAT 2011, PERÅžEMBE
jQuery - giriş elemanı textbox veya seçim listesinde olup olmadığını belirlemek
Nasıl öğe :jQuery giriş filtresi bir textbox veya seçin bir liste tarafından döndürülen olup olmadığını belirlemek istiyorsunuz?
Her ( textbox verir metin değeri seçin döner anahtarı ve metin) farklı bir davranış olmasını istiyorum
Örnek kurulum:
<div id="InputBody">
<div class="box">
<span id="StartDate">
<input type="text" id="control1">
</span>
<span id="Result">
<input type="text" id="control2">
</span>
<span id="SelectList">
<select>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
</select>
</span>
</div>
<div class="box">
<span id="StartDate">
<input type="text" id="control1">
</span>
<span id="Result">
<input type="text" id="control2">
</span>
<span id="SelectList">
<select>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
</select>
</span>
</div>
betik:
$('#InputBody')
// find all div containers with class = "box"
.find('.box')
.each(function () {
console.log("child: " this.id);
// find all spans within the div who have an id attribute set (represents controls we want to capture)
$(this).find('span[id]')
.each(function () {
console.log("span: " this.id);
var ctrl = $(this).find(':input:visible:first');
console.log(this.id " = " ctrl.val());
console.log(this.id " SelectedText = " ctrl.find(':selected').text());
});
CEVAP
24 ÅžUBAT 2011, PERÅžEMBE
Bunu yapmak için:
if( ctrl[0].nodeName.toLowerCase() === 'input' ) {
// it was an input
}
ya da bu, daha yavaş, ama daha kısa ve daha temiz olan:
if( ctrl.is('input') ) {
// it was an input
}
Eğer daha spesifik olmak isterseniz, bu tür test edebilirsiniz:
if( ctrl.is('input:text') ) {
// it was an input
}
Bunu PaylaÅŸ:

Nasıl değişken olup olmadığını belirle...
Nasıl belirli bir Linux 32 bit veya 64...
Nasıl bir web sayfası doğrudan tarayıc...
Eğer bir öğe jQuery ile CSS sınıfı var...
Nasıl bir görüntü, Javascript/jQuery k...