ich diesen HTML habenjquery eingestellt wählen Sie die Option hat keine Auswirkung auf die HTML-
<select name="grid.SprintModel" id="grid_SprintModel">
<option value=""><None></option>
<option value="739af096-a732-49ea-b9fc-d9220a25ed36">1. Meilenstein: Spezifikation</option>
<option value="94749a48-fe3b-4f03-8757-4b07257f6c18">2. Meilenstein: Test</option>
<option value="775efd45-b90f-43f9-84e6-6eb7cf1f05d7">3. Meilenstein: Qualitätsrelease</option>
</select>
Dann habe ich diese jquery
function onConfigureSprintSelection() {
// find the dropdown first
var $dropdown = $('select[name$=grid.SprintModel]');
$('<option/>', { text: '<None>', value: '' })
.prependTo($dropdown);
// find the table row (tr) which is being edited
var $tr = $dropdown.closest('tr:has(form)');
// get the grid client object
var grid = $tr.closest('.t-grid').data('tGrid');
// get the data item bound to this table row
var dataItem = grid.dataItem($tr);
// set the value of the dropdown to select the proper item
var value = dataItem.SprintModel ? dataItem.SprintModel.RowKey : '';
$dropdown.val(value);
var xyz = 1; // Just a row for a breakpoint
}
Wenn ich die Jquery debuggen, dann wird der DOM-Baum korrekt geändert wird:
- Die Option keine wird eingefügt.
- Die aktuelle Option = true ausgewählt
Aber in dem HTML-Code nur die neue Option <None>
erscheint. Die aktuell ausgewählte Option wird nicht angezeigt. Es erscheint immer: <None>
- Das Problem tritt nur in Firefox.
- In IE funktioniert es gut.
- In Safari gibt es ein anderes Problem. weder ist noch die richtige Option ausgewählt. Das Feld ist leer.
?!?!
Ich erinnere mich, in früheren Firefox-Releases verwendet es korrekt zu arbeiten. Ich habe 3.6.13.
dataItem() ist nicht das Problem. Es gibt das JSON-Datenelement der umgebenden Tags zurück. Das funktioniert gut. Wie gesagt: Der DOM-Baum wurde zwar korrekt geändert, aber in Firefox und in Safari wird er nicht korrekt gerendert, sondern zB. –