2016-10-12 6 views
0

編集上の表の行データを取得する:私は、チェックボックスのチェックで<td>内部のアンカータグのテキストを取得しようとしているシンプルだ私の質問チェックボックスのチェック

を修正してくださいしたいと思います。
問題は、アンカータグは、これは私がいくつかの記事を検索し、いくつかの機能を作成しようとしました

<table class="wp-list-table widefat fixed striped users"> 

<tbody id="the-list" data-wp-lists="list:user"> 

    <tr id="user-18"> 
    <th scope="row" class="check-column"> 
    <label class="screen-reader-text" for="user_18">Select abc</label> 
    <input type="checkbox" name="users[]" id="user_18" class="subscriber" value="18"> 
    </th> 


    <td class="username column-username has-row-actions column-primary" data-colname="Username"> 

    <a href="#">abc</a> 
    </td> 
</table> 

私のテーブルのサンプルである

IDやクラスを持っていないということです

<script type ="text/javascript"> 
$('#changeit').click(function(){ 

     var values = []; 
     $(".wp-list-table input[name='users[]']:checked").each(function(){ 
      row = $(this).closest("tr"); 

     }); 

     alert($(row).find("a")[0]); 




    }); 

</script> 

これは私にアンカータグhrefデータを与えましたが、アンカータグで囲まれたテキストが必要です。

私は

alert($(row).find("a")[0].text()); 
alert($(row).find("a")[0].val()); 
alert($(row).find("a")[0].val); 

を試してみました。しかし、彼らは私にアンカータグのテキストを与えていません。

提案が役に立ちます。

function Bindthis() { 
     $('#changeit').on('click', function() { 
      alert('1'); //this is hitting 
      var values = []; 
      $('.subscriber').attr('checked', true).each(function() { 
       alert('2'); 
       row = $(this).closest("tr"); 
      }); 
     }); 
    } 
+1

を働いている、このコードを作りました[]「] ' – Sajan

+0

おかげで、それはチェックイベントの中に入るために私を助けたが、それでも私は​​内の要素の値を取得することはできませんよ」もう一度'この '見つける(『入力[名=ユーザ名]』)での –

+0

あなたを引用がありません。名前が 'Username'の入力が表示されません。配列を格納できると確信できたら、複数の 'alert 'の代わりに' console.log(values) 'を置くことができますか?ブラウザのデベロッパーコンソールを確認しますか? – Sajan

答えて

0

はこれを試してみてください。

まず、あなたはあなたのコードがうまくインデントする必要があります。あなたが良い、クリーンでエラーのないコードを書こうとするならば、インデントは必須です。インデントが異なるスコープを識別するのに多く役立つため、エラーフリーです。

第二に、常にログを探します。私はあなたがalert()代わりのconsole.log()を使用するので、あなたはログを見ていないことを知って、あなたはあなたのコードをコンソール(F12)を開いた場合にも、このエラーがわかります。これにより

Uncaught Error: Syntax error, unrecognized expression: #the-list input[name=users[]]:checked 

、さセレクタ構文が間違っていることを理解しやすい。インターネットの周りのビットを検索し、セレクタについて学ぶと、構文には、このような#the-list input[name='users[]']:checkedのような引用符が必要であることがわかります。

は、あなたがこの問題と将来のものを避けるために、セレクタがどのように動作するかを十分に理解し、そうしていないようだ、私はそれらについて少し読みすることをお勧めいたします。この方法で同じセレクタの質問を繰り返さないようにします。ここでは良い参考ウェブサイトは、オンラインテスターで、次のとおりです。http://www.w3schools.com/cssref/css_selectors.asp

0

これは、いくつかの良いコーディング慣行を以下で簡単にトレーサブルである:

+0

thanx私はコンソールの使用を知っているが、ユーザーのための単一引用符を知らなかった –

+0

@NeerajVermaうん、あなたの編集を見た。これで、 "name"属性で "input"を選択していますが、代わりに "data-colname"属性を持つ "td"があります。あなたは何が起こっているのか本当に分かっていない場合は、私のリンクを調べて、それをよりよく理解してください。セレクタを理解することで多くの助けになります。 –

+0

ありがとう、私はそれなしでそれを解決した –

0

最終的に私は、私はあなたが `入力し、[名前= 'ユーザのような名前のセレクタに引用符を必要とすると思います私のため

$(".wp-list-table input[name='users[]']:checked").each(function(){ 
      row = $(this).closest("tr"); 
      anchor = $(this).closest('tr').find("a:first"); 


     }); 
     alert($(anchor).text()); 
関連する問題