テーブルがあり、2 番目の列を編集する必要があるため、2 番目の列のセルをクリックすると、2 つの画像を含むテキスト ボックスが表示されます。
テキストボックスに値を入力してeditCost画像をクリックした後、テキストをスパンに設定する必要があります。しかし、私はできません。
HTML
<table class="gs">
<thead>
<tr role="row">
<th>Name</th>
<th>Cost in (USD)</th>
</tr>
</thead>
<tbody role="alert" aria-live="polite" aria-relevant="all"><tr class="odd">
<td class=" sorting_1">
Culture
</td>
<td align="right" class=" ">
<span></span>
<span>
<input type="text" name="Culture" value="" id="Culture">
<img alt="editCost">
<img alt="cancelCost">
</span>
</td>
</tr><tr class="even">
<td class=" sorting_1">
RedBloodCell
</td>
<td align="right" class=" ">
<span>100</span>
<span>
<input type="text" name="RedBloodCell" value="" id="RedBloodCell">
<img alt="editCost">
<img alt="cancelCost">
</span>
</td>
</tr><tr class="odd">
<td class=" sorting_1">
WhiteBloodCell
</td>
<td align="right" class=" ">
<span>100</span>
<span>
<input type="text" name="WhiteBloodCell" value="" id="WhiteBloodCell">
<img alt="editCost">
<img alt="cancelCost">
</span>
</td>
</tr><tr class="odd even">
<td class=" sorting_1">
WhiteBloodCell
</td>
<td align="right" class=" ">
<span>100</span>
<span>
<input type="text" name="WhiteBloodCell" value="" id="WhiteBloodCell">
<img alt="editCost">
<img alt="cancelCost">
</span>
</td>
</tr>
</tbody>
</table>
脚本
jQuery(document).ready(function() {
jQuery('td span:nth-child(2)').hide();
jQuery("table.gs tbody tr td:nth-child(2)").click(function() {
jQuery('td span:nth-child(2)').hide();
jQuery(this).find("span:nth-child(2)").show();
var value = jQuery.trim(jQuery(this).text());
jQuery(this).find("input").val(value);
jQuery(this).find("span:nth-child(1)").text('');
});
jQuery('img[alt="editCost"]').click(function() {
var value = jQuery(this).siblings("input[type=text]").val();
jQuery(this).parent().siblings("span").text(value);
jQuery(this).parent().hide(1);
});
jQuery('img[alt="cancelCost"]').click(function() {
var value = jQuery(this).siblings("input[type=text]").val();
jQuery(this).parent().siblings("span").text(value);
jQuery(this).parent().hide(1);
});
});