使用Jquery动态添加下拉列表并克隆该下拉列表?

时间:2011-06-28 06:25:11

标签: jquery asp.net

我有克隆元素的代码,但是如何根据第一个下拉列表中选择的结果自动填充第二个元素?

这是我发现的用于克隆的代码。

<table id="BoxTable">
<tr>
    <th>Name</th>
    <th>Comparision</th>
    <th>Value</th>
    <th>Delete</th>
</tr>
<tr id="TemplateRow">
    <td>
        <select name="BoxName" id="BoxName">
            <option selected="selected" value="attr1">attr1</option>
            <option value="attr2">attr2</option>
            <option value="attr3">attr3</option>

        </select>
    </td>
    <td>
        <select name="BoxComparison" id="BoxComparison">
            <option selected="selected" value="=">=</option>
            <option value=">">&gt;</option>
            <option value="&lt;">&lt;</option>
            <option value="Like">Like</option>
            <option value="!=">!=</option>
        </select>
    </td>
    <td>
        <input name="BoxVal" type="text" id="BoxVal" />
    </td>
    <td>
        <input id="DeleteBoxRow" type="checkbox" name="DeleteBoxRow" />
    </td>
</tr>
<tr>
    <td colspan="4">
        <input type="submit" name="AddAttr" value="Add Box Attribute" id="AddAttr" />
    </td>
</tr>
</table>

现在jQuery ......

$(function() {
//attach the a function to the click event of the "Add Box Attribute button that
will add a new row
$('#AddAttr').click(function() {
//clone the template row, and all events attached to the row and everything in it
var $newRow = $('#TemplateRow').clone(true);

//strip the IDs from everything to avoid DOM issues
$newRow.find('*').andSelf().removeAttr('id');

//add the cloned row to the table immediately before the last row
$('#BoxTable tr:last').before($newRow);

    //to prevent the default behavior of submitting the form

    return false;
});

//attach a remove row function to all current and future instances of the   
"remove row" check box
$('#DeleteBoxRow').click(function() {
    //find the closest parent row and remove it
    $(this).closest('tr').remove();
});

//finally, add an initial row by simulating the "Add Box Attribute" click
$('#AddAttr').click();
});

请帮帮我..

1 个答案:

答案 0 :(得分:2)

在这里查看解决方案http://jsfiddle.net/dSgdD/2/