角度パラメータをonclickイベントに送信するにはどうすればよいですか?

newb

ここに行きます...私はコントローラーを持っています

    $scope.selectedScript = {};
    $scope.selectedScript.scriptId = null;   


    $scope.selectScript = function(script, index) {
                    $scope.selectedScript = script;
                    $scope.selectedRow = index;

                    myAppFactory.updateTextArea(script).success(
                            function(data) {
                                $scope.selectedScript = data;
                            });
                };

    $scope.getSelectedClass = function(script) {
                    if ($scope.selectedScript.scriptId != undefined) {
                        if ($scope.selectedScript.scriptId == script.scriptId) {
                            return "selected";
                        }
                    }
                    return "";
                };

私はhtmlページを持っています

<label>Script ID:</label> 
<input name="scriptId" 
       type="text" 
       id="scriptId"
       ng-model="selectedScript.scriptId" 
       ng-disabled="true"
       value="{{selectedScript.scriptId}}" /> 

そして今IARKIにthx私はこれを持っています

<script type="text/javascript">
function goTo (){
 var param1 = angular.element(document.querySelector('.scriptId')).scope.selectedScript.scriptId;
 location.href=this.href + '?scriptId='+param1; 
 return false;
}
</script>
<a href="http://localhost:8080/DSS-war/debug.html" target="_blank" onclick="goTo()">Debug</a>

テーブルにスクリプトのリストもあります

<table class="scripts" name="tableScript" arrow-selector>
            <tr bgcolor="lightgrey">
                <th>Script ID</th>
                <th>File Name</th>
            </tr>
            <tr
                ng-repeat="s in scripts | filter:searchField | orderBy:'scriptId'"
                ng-click="selectScript(s, $index)" ng-class="getSelectedClass(s)">
                <td>{{s.scriptId }}</td>
                <td>{{s.fileName }}</td>
            </tr>
        </table>

次に、上のリンクを押すと、新しいタブが表示されますが、リンクはまだ

 http://localhost:8080/DSS-war/debug.html

しかし、私はそれが新しいタブで開くだけでなく、次のようになる必要があります:

 http://localhost:8080/DSS-war/debug.html?scriptId=1
 http://localhost:8080/DSS-war/debug.html?scriptId=2
 http://localhost:8080/DSS-war/debug.html?scriptId=12

など...数字で

何か案が?

そして、それはng-clickではなく、onclick関数である必要があります。ng-clickでどのように機能するかは知っていますが、onclickで機能させる必要があります...

そして今、私はこれをクロームデバッガーから取得します:

Uncaught TypeError: Cannot read property 'scriptId' of undefined

行に

var param1 = angular.element(document.querySelector('.scriptId')).scope.selectedScript.scriptId;
IARKI

純粋なJavaScriptを使用してAngularスコープにアクセスしてみることができます

<script type="text/javascript">
   function goTo (){
     var param1 = angular.element("#scriptId").scope().selectedScript.scriptId;
     location.href=this.href + '?scriptId='+param1; 
     return false;
   }
</script>
<a href="http://localhost:8080/DSS-war/debug.html" target="_blank" onclick="goTo()">Debug</a>

役に立たないコードを更新しますが、それがあなたの助けになることを願っています

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>My application</title>
</head>
<body ng-app="myApp" ng-controller="myCtrl">
<label>Script ID:</label>
<input name="scriptId" type="text" id="scriptId" ng-model="selectedScript.scriptId" ng-disabled="true">
<button onclick="generateID()">Set code</button>
<a href="#" onclick="goTo()">Debug</a>
</body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.min.js"></script>
<script type="text/javascript">
    function generateID() {
        var code = Math.floor(Math.random() * 20) + 1;
        document.getElementById('scriptId').setAttribute('value', code.toString());
    }
    function goTo() {
        var scope = angular.element(document.querySelector('#scriptId')).scope();
        scope.$apply(function () {
            scope.selectedScript.scriptId = document.querySelector('#scriptId').getAttribute('value');
        });
        scope.changeURl();
    }
    angular.module('myApp', [])
        .controller('myCtrl', function ($scope, $window) {
            $scope.selectedScript = {};
            console.log('We are in controller');
            $scope.changeURl = function () {
                $window.open('http://localhost:8080/DSS-war/debug.html?scriptId=' + $scope.selectedScript.scriptId, '_blank');
            }
        });
</script>
</html>

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

テンプレートにパラメータを送信するにはどうすればよいですか

分類Dev

actionscript3のマウスイベントリスナーでパラメータを送信するにはどうすればよいですか?

分類Dev

onclickイベントのパラメータとして親テーブルのIDを使用するにはどうすればよいですか?

分類Dev

追加のパラメータをイベントに渡すにはどうすればよいですか

分類Dev

送信ボタンのonclickイベントでフォームの送信をキャンセルするにはどうすればよいですか?

分類Dev

onclickイベントをWordpressメニューに追加するにはどうすればよいですか?

分類Dev

Facebook Analyticsアプリイベントでイベントパラメーターを表示するにはどうすればよいですか?

分類Dev

テンプレートで送信されたパラメータのタイプを確認するにはどうすればよいですか?

分類Dev

MVVMでイベントを処理しているときにイベントハンドラーの2番目のパラメーターを送信するにはどうすればよいですか?

分類Dev

データベースのonclickを更新するインクリメントボタンをCodeigniterで作成するにはどうすればよいですか?

分類Dev

Prismを使用するときにSenderイベントパラメータを送受信するにはどうすればよいですか?

分類Dev

Firebase Analyticsイベントパラメータを使用してユーザーのメールを取得するにはどうすればよいですか?

分類Dev

イベントに加えて、addlistenereventの関数に別のパラメーターを追加するにはどうすればよいですか?

分類Dev

ZendコントローラーでExtJから送信されたパラメーターを取得するにはどうすればよいですか?

分類Dev

FlaskのRESTfulサービスコンストラクターにパラメーターを送信するにはどうすればよいですか?

分類Dev

パブリックアレイメンバーにプライベートデータを関連付けるにはどうすればよいですか?

分類Dev

CircleAvatarウィジェット内にある画像にOnclickイベントをフラッターで追加するにはどうすればよいですか?

分類Dev

ViewCellのTappedイベントにパラメーターを追加するにはどうすればよいですか?

分類Dev

ラムダでイベントパラメータを解析するにはどうすればよいですか?

分類Dev

BigQueryで複数のカスタムFirebaseイベントパラメータを選択するにはどうすればよいですか?

分類Dev

追加のパラメーターをMVCGrid.NetRetrieveDataMethodに送信するにはどうすればよいですか?

分類Dev

ViewCellのTappedイベントがジェネリック関数にパラメーターを送信し、そのViewCell要素のピッカーを開くようにするにはどうすればよいですか?

分類Dev

Stimulsoftにパラメータを送信するにはどうすればよいですか?

分類Dev

アクセスパラメータクエリをExcelにインポートできるように、パラメータをMicrosoft Accessクエリに送信するにはどうすればよいですか?

分類Dev

INTERVALパラメータをPDOにバインドするにはどうすればよいですか?

分類Dev

link_toで追加のパラメーターを送信するにはどうすればよいですか?

分類Dev

xamarin.formsのRESTAPIでパラメーターを送信するにはどうすればよいですか?

分類Dev

AWSデータパイプライン障害メッセージをSNS以外の場所に送信するにはどうすればよいですか?

分類Dev

jsからダイレクトイベントのURLアクションにパラメータを渡すにはどうすればよいですか?

Related 関連記事

  1. 1

    テンプレートにパラメータを送信するにはどうすればよいですか

  2. 2

    actionscript3のマウスイベントリスナーでパラメータを送信するにはどうすればよいですか?

  3. 3

    onclickイベントのパラメータとして親テーブルのIDを使用するにはどうすればよいですか?

  4. 4

    追加のパラメータをイベントに渡すにはどうすればよいですか

  5. 5

    送信ボタンのonclickイベントでフォームの送信をキャンセルするにはどうすればよいですか?

  6. 6

    onclickイベントをWordpressメニューに追加するにはどうすればよいですか?

  7. 7

    Facebook Analyticsアプリイベントでイベントパラメーターを表示するにはどうすればよいですか?

  8. 8

    テンプレートで送信されたパラメータのタイプを確認するにはどうすればよいですか?

  9. 9

    MVVMでイベントを処理しているときにイベントハンドラーの2番目のパラメーターを送信するにはどうすればよいですか?

  10. 10

    データベースのonclickを更新するインクリメントボタンをCodeigniterで作成するにはどうすればよいですか?

  11. 11

    Prismを使用するときにSenderイベントパラメータを送受信するにはどうすればよいですか?

  12. 12

    Firebase Analyticsイベントパラメータを使用してユーザーのメールを取得するにはどうすればよいですか?

  13. 13

    イベントに加えて、addlistenereventの関数に別のパラメーターを追加するにはどうすればよいですか?

  14. 14

    ZendコントローラーでExtJから送信されたパラメーターを取得するにはどうすればよいですか?

  15. 15

    FlaskのRESTfulサービスコンストラクターにパラメーターを送信するにはどうすればよいですか?

  16. 16

    パブリックアレイメンバーにプライベートデータを関連付けるにはどうすればよいですか?

  17. 17

    CircleAvatarウィジェット内にある画像にOnclickイベントをフラッターで追加するにはどうすればよいですか?

  18. 18

    ViewCellのTappedイベントにパラメーターを追加するにはどうすればよいですか?

  19. 19

    ラムダでイベントパラメータを解析するにはどうすればよいですか?

  20. 20

    BigQueryで複数のカスタムFirebaseイベントパラメータを選択するにはどうすればよいですか?

  21. 21

    追加のパラメーターをMVCGrid.NetRetrieveDataMethodに送信するにはどうすればよいですか?

  22. 22

    ViewCellのTappedイベントがジェネリック関数にパラメーターを送信し、そのViewCell要素のピッカーを開くようにするにはどうすればよいですか?

  23. 23

    Stimulsoftにパラメータを送信するにはどうすればよいですか?

  24. 24

    アクセスパラメータクエリをExcelにインポートできるように、パラメータをMicrosoft Accessクエリに送信するにはどうすればよいですか?

  25. 25

    INTERVALパラメータをPDOにバインドするにはどうすればよいですか?

  26. 26

    link_toで追加のパラメーターを送信するにはどうすればよいですか?

  27. 27

    xamarin.formsのRESTAPIでパラメーターを送信するにはどうすればよいですか?

  28. 28

    AWSデータパイプライン障害メッセージをSNS以外の場所に送信するにはどうすればよいですか?

  29. 29

    jsからダイレクトイベントのURLアクションにパラメータを渡すにはどうすればよいですか?

ホットタグ

アーカイブ