「JAIRO Cloud」の版間の差分
ナビゲーションに移動
検索に移動
→困っていること: カスタムソートJSの修正版
(→困っていること: カスタムソートJSの修正版) |
|||
| 791行目: | 791行目: | ||
}; | }; | ||
</pre> | </pre> | ||
カスタムソートの修正版 | |||
「編集」をおして、テキストフィールドに値が入る状態にしてからコンソールで実行し、「保存」ボタンを押す | |||
<pre> | |||
// AngularJS(ngModel経由で更新) | |||
var textBoxes = document.querySelectorAll("input[type='text']"); | |||
var n = textBoxes.length; | |||
textBoxes.forEach(function(el, i){ | |||
var v = String(n - i); | |||
var ngEl = angular.element(el); | |||
var ngModelCtrl = ngEl.controller('ngModel'); | |||
if (ngModelCtrl) { | |||
var scope = ngEl.scope(); // その要素のスコープ | |||
scope.$apply(function(){ | |||
ngModelCtrl.$setViewValue(v); | |||
ngModelCtrl.$render(); // 表示も同期 | |||
}); | |||
} else { | |||
// 念のためのフォールバック | |||
el.value = v; | |||
el.dispatchEvent(new Event('input', { bubbles: true })); | |||
el.dispatchEvent(new Event('change', { bubbles: true })); | |||
} | |||
}); | |||
</pre> | |||
* 本文ファイルの差し替えがうまくいかない | * 本文ファイルの差し替えがうまくいかない | ||