2017-01-05 4 views
1

角度アプリでtextareaの色をjQueryを使用して変更しようとしていますが、機能しません。jQueryを使用して角度フィールドのテキストエリアの内容を変更する方法

どうすればよいですか?それは$ is not definedと言います。 HTML:

<body> 
    <div ng-app="myApp" ng-controller="testController"> 
     <textarea id="abc">abc 
      </textarea> 

    </div> 
</body> 
</html> 

角度JS:

var app = angular.module('myApp', []); 
app.controller('testController', function($scope, $http) {  
     var tdVal =$("#abc"); 
     var x = tdVal.innerHTML; 
     tdVal.html ("<span style='color: rgba(220, 0, 0, 1)'>" + x"</span>"); 
}); 
+0

DOM操作は指令内で行う必要があり、jqueryの必要はありません。あなたが好きなら、スニペットを追加することができます。 LMO – alphapilgrim

答えて

1

あなただけの色を変えていないが、コントロール自体。色を変更することが目的である場合:

var elem = angular.element('#abc'); 
elem.css('color', 'rgba(220, 0, 0, 1)'); 

値更新のため、角度は、あなたがディレクティブをバインド提供します。

$scope.value = 'some value' 

とビューの

<textarea id="#abc" ng-bind="value"></textarea> 
+0

私のために働かない。私はこのエラーが発生する "エラー:[jqLit​​e:nosel] http://errors.angularjs.org/1.5.5/jqLit​​e/nosel.And別のものは、私はいくつかの値を"赤 "と値に変更したい場合"青色。私はそれを達成することができます。あなたはコードについて詳しく説明できますか?私は非常にあなたの角のアプリケーションに欠けている外部依存関係があるように見える角度の – user3370006

+0

に新しいです。 angular.module( 'app_name'、[pass_dependencies_here]); –

+0

複数のコントロールを更新する場合は、角度指示を見ることをお勧めします。 –

0

これを試してみて、いくつかの他のdependinciesがない場合、それは仕事のことを行います

$('#abc').css('color', 'rgba(220, 0, 0, 1)'); 
0

あなたはtextareaタグ内にHTMLをレンダリングするように見え、これはブラウザでは許可されていませんが、編集可能なdiv要素を使用することです:

<div id="abc" contenteditable="true"></div> 

デフォルトでRendering HTML inside textarea

angular.elementをチェックアウトするには、jQueryのOG限定版ですjQueryLightを使用しています。あなたはng-style角度ディレクティブを使用する必要があります

<div id="abc" contenteditable="true"> 
    <span ng-style="{color: 'rgba(220, 0, 0, 1)'}">abc</span> 
</div> 

するか、あなたのロジックに従って、CSSオブジェクトを返しますng-styleカスタム関数に割り当てることができます。

関連する問題