Javascript Onclickの問題

私はこれを働かせることはできません。 JavaScriptを直接 onclick イベントにドロップするとうまく動作しますが、このようにはしません

JavaScript

function checkid(objDivID) {
    if(this.id == 'id1') {
        alert('ID is Checked') 
    };
}

HTML

<tr id='id". $row['id'] ."' class='rrtr' onclick=\"checkid(this.id);\">
    <td class='name'>". $row['name'] ."</td>
    <td class='data'>". $row['TotalResp'] ."</td>
    <td class='data'>". $row['StaffCount'] ."</td>
    <td class='data'>". number_format($row['Perc'],0) ."</td>
</tr>

ありがとう、H.

1
解決済み - Java文でobjDivIDの代わりにthis.idを使用していました。
追加された 著者 Homer_J,
何が問題ですか?関数は決して起動しませんか?
追加された 著者 Jivings,

3 答え

関数 this.id を渡していますが、関数内でその参照を再度試みます。それは動作しません。代わりにパラメータ名を使用してください。

function checkid(objDivID){
    if(objDivID == 'id1'){alert('ID is Checked')};
}

また、HTMLの二重引用符を引用するバックスラッシュはおそらく実際には存在しません。そのHTMLを私が推測する文字列として印刷しています。

3
追加された
DOH!何の幸せ! LMAO - 私はタフィーのためにそれを見ることができませんでした!大いに。
追加された 著者 Homer_J,

これを解決するには、 this を指定する関数をいくつかの方法で呼び出すことができます。

<tr id='id". $row['id'] ."' class='rrtr' onclick=\"checkid.call(this, this.id);\">

Or just use passed id:

function checkid(objDivID){
    if(objDivID == 'id1'){alert('ID is Checked')};
}
1
追加された

これは、間違った範囲で this を使用しているためです。行を変更する

if(this.id == 'id1'){alert('ID is Checked')};

if(objDivID == 'id1'){alert('ID is Checked')};
0
追加された
JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript