0

私はこのようなテーブルを持っています-

<table class='table'>
  <tr>
   <td class="td"><input type="text" name="name<%=f.getId()%>" value="<%=f.getName()%>"/>      
   </td>
   <td class="td"><input type="text" id="field_length" size="3" name="length<%=f.getId()%>" value="<%=f.getLength()%>"/></td>
   <td class="td"><input type="text" name="tooltip<%=f.getId()%>" value="<%=f.getToolTip()%>"/></td>
  </tr>
  <tr>
   same like the previous.......
  </tr>
  <tr>
    same like previous....
  </tr>

ここで、ID「field_length」の 2 行目にあるテキスト ボックスの値を変更したいと考えています。私はそれを行うためにjqueryを使用しようとしました。

$(‘tr:nth-child(2) input:text#field_length’).val(10);

しかし、これは機能していません。これについて少し助けてください。

4

3 に答える 3

0

代わりにこれを使用してください。誤ったID構造ではなく、長さで始まる名前の入力を選択してください。要素名の最初の部分は修正されています...このソリューションで必要な場合は、IDを削除できます。

$("table tr:nth-child(2) input:text[name^=length]").val(10);

フィドルサンプル

于 2012-08-08T10:04:58.010 に答える
0

最初の td は、/td ではなく別の td で終わります。ところで、テーブルの作成方法を説明したように、許可されていない同じ ID を持つ複数の要素を取得します。Raminson が述べたように、ID は一意である必要があります。最後に、 each() を使用してみてください。必要に応じて、ここに方法を投稿します。

于 2012-08-08T09:48:23.090 に答える
0

ID は一意である必要があります。ID セレクターを使用して要素を選択できます。

$('#field_length').val(10)

必要なのは、最初の行を除くすべての行のすべてのテキスト ボックスの値を変更することです。

あなたが試すことができます:

$('input:not(:first)').val(10)
于 2012-08-08T09:41:00.617 に答える