Bine Sunt total confuz pe asta.
Am un script care primește o grămadă de valori dintr-un obiect JSON și creează o grămadă de casete de selectare și fie controale sau Debifarea unei aceste casete de selectare în funcție de valorile lor.
Script-ul funcționează corect în IE8, Firefox3, etc ... etc ...
In orice caz...
În IE7 script-ul nu reușește să verifice pe casetele de selectare. Se afișează nici o eroare și de la ceea ce pot spune, script-ul ruleaza foarte bine. Pur și simplu nu verifică niciuna dintre casetele de selectare, și nu știu de ce ...
shoppingCart['Update_Stock_Item_0_NRD%5FHAT2'] = {
'propeller': {
'label' : 'propeller',
'optionValues' : {
'on' : {
'selected': 'selected'
},
'off' : {
'selected': ''
},
'' : new String()
}
},
'sunLogo': {
'label' : 'sunLogo',
'optionValues' : {
'on' : {
'selected': 'selected'
},
'off' : {
'selected': ''
},
'' : new String()
}
},
'MSLogo': {
'label' : 'sunLogo',
'optionValues' : {
'on' : {
'selected': 'selected'
},
'off' : {
'selected': ''
},
'' : new String()
}
}
};
Funcția stockInit () {alert ( BEGIN: stockInit ()); // TODO: Vei primi un „pornit“ și o opțiune „off“, // One va avea un „selectat“ atribut al „selectat“, // iar celălalt va avea un „selectat“ atribut al „“ // // opțiunea care are „selectat“ atributul de „“ // va genera o casetă de validare care nu este verificat. // // Opțiunea care are „atributul selectat dintre«selectat»// va genera o casetă de validare , care este verificat. //
// De ce? Tu întrebi ... pentru că e doar modul în care este lucru // configurare pentru. (element var în shoppingCart) {// // console.log ( element de procesare: + item);
var optionContainer = document.getElementById(item + _optionContainer);
for(var option in shoppingCart[item])
{
if(option != blank)
{
// // console.log(option: + option);
var currentOption = shoppingCart[item][option]['optionValues'];
// // console.log(currentOption['on']['selected']: + currentOption['on']['selected']);
// // console.log(currentOption['off']['selected']: + currentOption['off']['selected']);
// Really you only have to check the one, but just to be through-o
var selected = (currentOption['on']['selected'] == 'selected') ? true : false;
selected = (currentOption['off']['selected'] == 'selected') ? false : true;
var label = document.createElement(LABEL);
var labelText = document.createTextNode(shoppingCart[item][option]['label']);
var optionInput = document.createElement(INPUT);
var hiddenInput = document.createElement(INPUT);
optionInput.setAttribute(type, checkbox);
optionInput.checked = selected;
optionInput.setAttribute(id, option);
alert(optionInput.id);
alert(optionInput.checked);
hiddenInput.setAttribute(type, hidden);
hiddenInput.setAttribute(name, option);
hiddenInput.setAttribute(id, option + _hiddenValue);
hiddenInput.setAttribute(value, (optionInput.checked) ? on : off);
label.appendChild(optionInput);
label.appendChild(labelText);
label.appendChild(hiddenInput);
(function(id)
{
optionInput.onclick = function() {
var hiddenInput = document.getElementById(id + _hiddenValue);
hiddenInput.setAttribute(value, (this.checked == true) ? on : off);
alert(this.id: + this.id);
alert(this.checked: + this.checked);
}
})(optionInput.id);
optionContainer.appendChild(label);
}
}
// // console.log(processing item of + item + complete);
}
alert(END: stockInit());
}
Și vă rugăm să nu întrebați de ce fac lucrurile în acest fel ... tot ce pot spune într-adevăr este că nu am acces la codul de backend ... așa că am obține ceea ce primesc ...













