2016-05-25 4 views
2

選択可能な情報を表示するテーブルがあります。選択可能な子行があることがあります。角度付きブートストラップの特定の行でテーブルホバーを無効にする

子供がいない場合、親の行を選択可能にしたい場合は、子の行のみを選択する必要があります。これは、選択のみの1つのタイプの表です。

この表は期待どおりに機能します。ただし、選択できない親行のホバーを無効にしたいとします。 http://plnkr.co/edit/Z0cgHKx2qxpekEE36O1K?p=previewここ

は、コントローラ内のコードのいくつかの例である:

scope.parentSelected = []; 
$scope.childSelected = []; 

$scope.getParentDetails = function(parentObj) { 
    if(!parentObj.jobs || parentObj.jobs.length === 0) { 
    nonSelectOtherRows(); 
    var index = $scope.pro.indexOf(parentObj); 
    $scope.parentSelected[index] = !$scope.parentSelected[index]; 

    // get details for parent row using parentObj 
    console.log(parentObj); 
    } 
}; 

$scope.getChildDetails = function(parentObj, childObj) { 
    nonSelectOtherRows(); 
    var parentIndex = $scope.pro.indexOf(parentObj); 
    var childIndex = parentObj.jobs.indexOf(childObj); 
    $scope.childSelected[parentIndex] = []; 
    $scope.childSelected[parentIndex][childIndex] = !$scope.childSelected[parentIndex][childIndex]; 

    // get details for parent and child rows using parentObj and childObj. 
    // childObj is the childRow selected 
    console.log(parentObj); 
    console.log(childObj); 
} 
+0

選択可能な子行にも、選択可能な親行にのみホバークラスを適用しますか?また、選択可能な親子行をマウスの上に置いて選択するとどうなりますか?現在、選択された親/子行に 'selected'クラス(黄色の背景)が適用されています。 – Saad

+0

@Saad子行と選択可能な親行を含むすべての選択可能な要素にホバークラスを適用したいと考えています。今すぐ親/子の行を選択すると、データを返すことが選択されたときに何が起こるのですか。その機能はうまく機能します。 – jenryb

+1

これを参照してください[Plunker](http://plnkr.co/edit/1r0JXKjpgU2lmsW1TjiT?p=preview)。それがあなたの問題を解決するかどうか教えてください。 – Saad

答えて

2

削除table-hover属性ここ

が動作plunkerあります。

ng-mouseoverng-mouseleaveの機能を実装します。

$scope.hoverIn = function(row){ 
    row.hoverEdit = true;//check selectable or not 
}; 
$scope.hoverOut = function(row){ 
    row.hoverEdit = false; 
}; 

ホバー用のCSSクラスを定義します。

.custom-hover { 
    background-color: red; 
} 

は、最後にここにあなたのtr

`'custom-hover': x.hoverEdit` 

にクラスを追加です:http://plnkr.co/edit/CJxi86GyM8jMbtehPQgU?p=preview はhoverInの内側にあなたの選択可能なコントロールを追加し、それが仕事になります。

+0

選択可能なコントロールの動きがどのようにホバーが動作するかを変える方法を示すことができますか?コントロールを移動しようとすると、ホバーが壊れます – jenryb

+0

私はあなたの選択可能なケースを理解していません。メソッドを定義し、選択可能かどうかをチェックします。あなたはちょうどhoverin関数内に追加する必要があります:if(IsRowSelectable(row))row.hoverEdit = true; else row.hoverEdit = false; –

+0

助けがあれば、各行をクリックすると、どちらが選択可能で、どちらが選択できないかがわかります。下にあるものを持つ親の行は選択できません。 – jenryb

-1

ng-classを試してみてください。それはあなたを助けるでしょう。

関連する問題