javascript根据第一个更改剩余的下拉值

时间:2013-08-26 02:45:19

标签: php javascript jquery html rows

我的HTML表格动态填充其行。其中一个表数据是带有相同选项的下拉列表。我想要做的是当我更改第一行的值时,其他行的剩余下拉列表将有一个选定的值,与最近选择的值相同。

如果我在第二行更改选定的值,则其余的下拉列表将与第二行相同,而不会影响第一行的值。以下是一些代码:

<table id="CheckDetails" width="60%">
<tr>
<th>Date</th>
<th>Category</th>
<th>Description</th>
<th>Amount</th>
 </tr>
 <tr class="row1">
<td><input name="date1" id="date1" class="" value="22-09-2013" /></td>
<td><select name="category" id="cat0" class="dropdown" >
    <option value="0">[-- Please Choose --]</option>
    <option value="1">References</option>
    <option value="2">Inspirational</option>
    </select>
</td>
<td><input type="text" class="entry" name="desc" id="desc0" value="1"/></td>
<td><input type="text" class="entry" name="amt" value="420.83333333333"/></td>
 </tr>
 <tr class="row1">
<td><input name="date1" id="date1" class="" value="22-09-2013" /></td>
<td><select name="category" id="cat0" class="dropdown" >
    <option value="0">[-- Please Choose --]</option>
    <option value="1">References</option>
    <option value="2">Inspirational</option>
    </select>
</td>
<td><input type="text" class="entry" name="desc" id="desc0" value="1"/></td>
<td><input type="text" class="entry" name="amt" value="420.83333333333"/></td>
 </tr>
 <tr class="row1">
<td><input name="date1" id="date1" class="" value="22-09-2013" /></td>
<td><select name="category" id="cat0" class="dropdown" >
    <option value="0">[-- Please Choose --]</option>
    <option value="1">References</option>
    <option value="2">Inspirational</option>
    </select>
</td>
<td><input type="text" class="entry" name="desc" id="desc0" value="1"/></td>
<td><input type="text" class="entry" name="amt" value="420.83333333333"/></td>
 </tr>

我正在使用php进行此项目。任何帮助表示赞赏。谢谢!

1 个答案:

答案 0 :(得分:1)

尝试

$('select[name="category"]').change(function(){
    var $this = $(this), $nextAll = $this.closest('tr').nextAll('tr').find('select[name="category"]');

    $nextAll.val($this.val())
});

演示:Fiddle