jquery中的输入数组

input array within jquery

本文关键字:数组 输入 jquery      更新时间:2023-09-26

在我的代码下面,我怎么能使它读取name="item[]"name="amount[]从我的HTML?

我在这里看到了一些相互冲突的事情,如何做到这一点,有一个简单的方法吗?

HTML:

<p><span class="bookingName">Item<span class="required">*</span></span><span class="bookingInput"><input type="text" name="item[]" /><span class="bookingName">Amount<span class="required">*</span></span><input type="text" name="amount[]"></span>
jQuery:

$(document).ready(function () {
    $('<div/>', {
        'class': 'menuDetails',
        html: getMenuHTMLDetails()
    }).appendTo('#addMoreItemsButton');
    $('#addItem').click(function () {
        $('<div/>', {
            'class': 'extraMenuItem',
            html: getMenuHTMLDetails()
        }).hide().appendTo('.appendMoreItems').slideDown('slow');
    });
})
function getMenuHTMLDetails() {
    var len = $('.extraMenuItem').length;
    var $clone = $('.menuDetails').clone();
    $clone.find('[name=item]')[0].name = "item" + len;
    $clone.find('[name=amount]')[0].name = "item" + len;
    return $clone.html();
}

您可以将属性的值放在引号中:

$clone.find('[name="item[]"]').prop("name", "item" + len);

或转义[]:

$clone.find('[name=item''['']]').prop("name", "item" + len);

必须使用引号" "$('[name="item[]"]')