検索

ホームページ  >  に質問  >  本文

JavaScript 関数はボタンのクリックには影響しません

インターネットを検索して多くの方法を試しましたが、比較的単純な問題で行き詰まっています。

以下のコードは私の質問の全範囲です

リーリー

私の問題のより基本的な部分は、この関数に関するものです:

リーリー

このボタンでは呼び出されません

リーリー

とにかく理由がわかりません。最初はスコープの問題だと思いましたが、スコープ内にあるはずです。ボタンから関数を呼び出すさまざまな方法も試してみました。ご協力いただけますよう、よろしくお願いいたします。クラス名でボタンを参照したり、このサイトに掲載されている関数を呼び出す方法をいろいろ試してみました。

P粉665427988P粉665427988233日前1544

全員に返信(2)返信します

  • P粉460377540

    P粉4603775402024-04-06 12:51:38

    jQuery を使用する場合、CSS セレクターを記述することで要素を検索できます。

    たとえば、$row = a.closest('tr'); とすると、a## によって参照される要素に最も近い <tr> が検索されます。 # 変数 要素であり、<button> 要素のように見えます。 a は単なるプリミティブ要素であるため、jQuery で使用するには jQuery を使用して選択する必要があります。 $(a).closest('tr') はこの問題を解決します。

    次に、

    $row.find('drawingnum') があり、その <tr> 要素 ## 内で <drawingnum># を検索します。要素。これは実際の要素ではなく、HTML にはありません。 しかし、次のようなものがあるようです:

    リーリー

    この要素を選択したいと思います。したがって、特定のプロパティ値を持つ

    <input>

    を見つける必要があります。 CSS では、セレクター input[name="drawingnum"] を使用して配置できます。これは、jQuery でも同じことができることを意味します。 全内容は次のとおりです:

    リーリー

    返事
    0
  • P粉593536104

    P粉5935361042024-04-06 10:10:09

    問題は JavaScript 関数にあります。

    PHP と JavaScript の表記を混同しています。 JavaScript で変数を宣言するときに「$」記号を使用する必要はありません。 jQuery で '$' が使用されているのを見たことがあるかもしれませんが、それを使用していることについては触れていませんでした。

    jQuery を使用していない場合、find() と text() はメソッドではないため、代わりに .querySelector と .value を使用する必要があります。

    また、クエリに '[name="whatever"]' を明示的に追加しない限り、名前で行を選択することはできないと思います。

    これは関数の動作バージョンです。

    リーリー

    これは jsbin の動作デモです。

    一般的な提案は、開発ツールのコンソールを使用することです。 JavaScript の問題に関するヒントが得られるはずです。

    追加の注意点は、各要素に一意の ID が割り当てられていることを確認することです。ページに重複する ID があってはなりません。

    返事
    0
  • キャンセル返事