我没有得到选择字段值

时间:2013-02-15 05:49:19

标签: jquery html

这是我的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);
});

3 个答案:

答案 0 :(得分:1)

find没有两个参数。请改用find('input.tag, select.tag')find('.tag')也足够了。

答案 1 :(得分:0)

find不适用于多个选择器。

只需使用

.find(".tag") 

Here's a simplified fiddle

答案 2 :(得分:-1)

您没有获得select元素的值,因为它缺少name属性。

显然。

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

这与JavaScript或jQuery无关。