2

これが私のhtmlページです。select タグの値が取得できません。selectタグを追加するまでは機能していました。しかし、今は機能していません。

<form id="multi">  
    <div>
        <label>Tag</label>
        <select name="" class="tag">
            <option value="1">India</option>
            <option value="2">Australia</option>
        </select>
        <input class="tag" type="text" name="" value="text" />
        <a href="#" data-action="add">add</a>
        <a href="#" data-action="delete">delete</a>
    </div>
    <input type="submit" value="save" >
</form>

そしてjquery関数は

jQuery(function($) {
    var multiTags = $("#multi");
    function handler(e) 
        var jqEl = $(e.currentTarget);
        var tag = jqEl.parent();
        switch (jqEl.attr("data-action")) {
        case "add":
            tag.after(tag.clone().find("input","select").val("").end());
            break;
        case "delete":
            tag.remove();
            break;
        }
        return false;
    }

    function save(e) {
        var tags = multiTags.find("input.tag","select.tag").map(function() {
            return $(this).val();
        }).get().join(',');
        alert(tags);
        return false;
    }

    multiTags.submit(save).find("a").live("click", handler);
});
4

3 に答える 3

1

find引数を 2 つ取りません。代わりに使用find('input.tag, select.tag')します。find('.tag')も十分です。

于 2013-02-15T06:18:17.150 に答える
0

find複数のセレクターでは機能しません。

単に使用する

.find(".tag") 

ここに単純化されたフィドルがあります

于 2013-02-15T06:18:44.070 に答える
-1

select属性がないため、要素の値を取得していませんname

明らかに。

<select name="I-HAVE-A-NAME-THEREFORE-I-EXIST" class="tag"></select>

これは JavaScript や jQuery とは関係ありません。

于 2013-02-15T06:08:59.687 に答える