0

これが私の問題です...ワンクリックで複数のテキストフィールドに入力する必要があります。クリックする必要のあるリンクは、phpで生成されたtdに配置され、データはMySQL db(血まみれのJS初心者!)から取得されます。

以下のコードは、私の問題のほんの一例です。

前もって感謝します

<script type='text/javascript'>
$(function(){
    $('.click').live('click', function() {
        $("#brand").val($(this).html());
        $("#color").val('I need the color here');
        $("#size").val('and here the size');
    });
});
</script>

<label for="brand">Brand:</label><input autocomplete="off" id="brand" type="text" name="brand" />
<label for="color">Color:</label><input autocomplete="off" id="color" type="text" name="color" />
<label for="size">Size:</label>
<select id="size" name="size">
    <option>M</option>
    <option>L</option>
    <option>XL</option>
</select>

<table>
    <tr>
        <th>brand</th>
        <th>color</th>
        <th>size</th>
    </tr>
    <tr>
        <td><a href="#" class="click">nike</a></td>
        <td>red</td>
        <td>45</td>
    </tr>
    <tr>
        <td colspan="3">...more rows here...</td>
    </tr>
</table>
4

1 に答える 1

0

まず、次のようにマークアップを変更して、色とサイズのテーブル セルにクラスを与えることをお勧めします。

<tr>
    <td><a href="#" class="click">nike</a></td>
    <td class="color">red</td>
    <td class="size">L</td>
</tr>

また、ドロップダウンの値を変更するには、次のように各オプションの値を含める必要があります。

<select id="size" name="size">
    <option value="M">M</option>
    <option value="L">L</option>
    <option value="XL">XL</option>
</select>

次に、入力フィールドを埋める JavaScript 関数で、サイズと色の値を変数に割り当てることができます。.click 要素は、サイズと色のセルの兄弟であるテーブル セル要素の子であるため、.click の親を選択してから、兄弟を選択する必要があります。

var color = $(this).parent().siblings('.color').text();
var size = $(this).parent().siblings('.size').text();
$("#color").val(color);
$("#size").val(size);

これでできます。次に、次のように、残りの行に同じマークアップを入力します。

<tr>
  <td><a href="#" class="click">adidas</a></td>
  <td class="color">blue</td>
  <td class="size">XL</td>
</tr>
于 2012-09-29T14:10:16.353 に答える