, jak mówi tytuł, wciąż uzyskuję "nieokreślony", gdy próbuję uzyskać atrybut id elementu, w zasadzie to, co chcę zrobić, to zastąpić element z polem wprowadzania danych, gdy wartość jest "inna".
Oto kod:
function showHideOther(obj){
var sel = obj.options[obj.selectedIndex].value;
var ID = $(this).attr("id");
alert(ID);
if(sel=='other'){
$(this).html("<input type='text' name='" + ID + "' id='" + ID + "' />");
}else{
$(this).css({'display' : 'none'});
}
}
HTML:
<span class='left'><label for='race'>Race: </label></span>
<span class='right'><select name='race' id='race' onchange='showHideOther(this);'>
<option>Select one</option>
<option>one</option>
<option>two</option>
<option>three</option>
<option value="other">Other</option>
</select>
</span>
Prawdopodobnie jest to coś małego, że nie jestem widząc, co robię źle?
Thanx z góry!
"ten" odnosi się zawsze do obiektu, na którym pracujesz. I może być używany w dowolnym miejscu. Oczywiście, jeśli wiesz, co robisz. – GerManson
zamiast '$ (this) .href', możesz po prostu' this.href', a także 'obj.id' ... btw,' obj.attr ('id'); 'powinno być' $ (obj) .attr ('id'); 'na podstawie OP ... – Reigel