Sto creando alcuni elementi casella di controllo al volo con jQuery e aggiungendole ad un nodo in questo modocreazione di elementi casella di controllo al volo con jQuery - strano comportamento IE
var topics = ['All','Cat1','Cat2'];
var topicContainer = $('ul#someElementId');
$.each(topics, function(iteration, item)
{
topicContainer.append(
$(document.createElement("li"))
.append(
$(document.createElement("input")).attr({
id: 'topicFilter-' + item
,name: item
,value: item
,type: 'checkbox'
,checked:true
})
.click(function(event)
{
var cbox = $(this)[0];
alert(cbox.value);
})
)
.append(
$(document.createElement('label')).attr({
'for': 'topicFilter' + '-' + item
})
.text(item)
)
)
});
I problemi che sto incontrando sono due fold (ci sono solo IE)
- le caselle di controllo vengono aggiunti alla pagina, ma il loro valore predefinito controllato lo stato non è selezionata, quando sto specificando 'vero' per quel valore. (Test con 'controllata' per il valore non fa differenza)
- Quando
alert(cbox.value);
esegue, l'uscita è 'ON', ogni volta.
Penso che il problema principale qui è che ho bisogno di un modo migliore per impostare lo stato di controllo predefinito delle caselle di controllo e per impostare il loro attributo "valore" predefinito. Ma non ho ancora trovato un altro modo.
Nota: tutto questo codice funziona perfettamente in Firefox e Chrome.
Questo è jQuery 1.3.1 test con IE 7.0.5730.11
Questo è corretto. L'ho appena confermato con alcuni test. –
Ho incontrato questo problema innumerevoli volte in IE. Felice di aver risolto il problema. –
questo ha reso la mia giornata, grazie –