如何动态选择选择框中的选项

时间:2013-09-04 15:25:14

标签: html select

我想在DropBox中添加两个选项

$("#payment_method_1").append(new Option("Credit", "7"));
$("#payment_method_1").append(new Option("Debit", "6"));

当我实现该代码时它完全追加但问题是它附加了多次而不是一次

    <select name="payment_method_1" id="payment_method_1" class="paysome" style="opacity: 0;">
    <option value="1" selected="selected">Cash</option>
    <option value="2">Credit Card</option>
    <option value="3">Western Union</option>
    <option value="4">Cheque</option>
    <option value="8">Bank</option>
    <option value="7">Credit</option>
    <option value="6">Debit</option>
    <option value="7">Credit</option>
    <option value="6">Debit</option>
    <option value="7">Credit</option>
    <option value="6">Debit</option>
    <option value="7">Credit</option>
    <option value="6">Debit</option>
    </select>

这是我的循环

    $('.paysome').each(function(index, element) {   
    $("#payment_method_"+index).append(new Option("Credit", "7"));
    $("#payment_method_"+index).append(new Option("Debit", "6"));
    });

先谢谢

1 个答案:

答案 0 :(得分:1)

您只需创建一个选项并附加到select

即可
$('.paysome').each(function(index, element) {        
    var index = index + 1;
    var select = document.getElementById("payment_method_"+index);
    select.appendChild(new Option("Credit", "7"));
    select.appendChild(new Option("Debit", "6"));      
}

或者,

$('.paysome').each(function(index, element) {        
    var index = index + 1;
    $("#payment_method_"+index).append(new Option("Credit", "7"));
    $("#payment_method_"+index).append(new Option("Debit", "6"));              
}

我发现问题在于索引。$.each索引从零开始,您的ID索引从1开始,因此您可能需要更新您的ID或更新您的代码。

这是Fiddle