2011-01-06 13 views
0

のhtmlへの影響はありませんjqueryのは、私はこのHTMLを持って

その後
<select name="grid.SprintModel" id="grid_SprintModel"> 
    <option value="">&lt;None&gt;</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> 

私はjqueryのをデバッグする場合は、この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 
} 

、その後、DOMツリーが正しく変更されます:

  • オプションなしを挿入します。
  • 現在のオプションは=

しかし、HTMLのみの新しいオプションが表示されます<None>で真選択されています。 現在選択されているオプションは表示されません。 それは、常に表示されます:<None>

  • 問題はFirefoxのみで発生します。
  • つまり、正常に動作します。
  • サファリには別の問題があります。どちらも正しいオプションが選択されていません。フィールドは空です。

?!?!

これまでのFirefoxのリリースでは、これまでと同じように動作していました。私は3.6.13を持っています。

答えて

1

あなたの最初の問題は、あなたがこのセレクタで属性の値の周りの引用が必要なことである:アップ

$('select[name$="grid.SprintModel"]') 

次に、$('<option/>', { text: '<None>', value: '' })が作成されます:

<option text="<None>" value="" /> 

とされていない:

<option value="">&lt;None&gt;</option> 

私はあなたが望むと思います。

最後に、dataItem()というjQueryメソッドが見つかりません。

申し訳ありませんが、これは実際には決定的な回答ではありませんが、通常は非標準コードから発生します。したがって、使用しているjQueryを詳しく見て、簡単に試してみてください。

+0

dataItem()は問題ありません。周囲のタグのjsonデータ項目を返します。これは正常に動作します。私が言ったように:DOMツリーは正しく変更されますが、FirefoxではSafariでは正しく描画されませんが、つまりSafariでは正しく描画されます。 –

関連する問題