2

这是我完整的测试代码,未能获得价值:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">

<head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <meta http-equiv="Content-Language" content="en-us" />
    <title>Job Search</title>
    <script language="javascript" type="text/javascript" src="script/jquery-1.3.2.js"></script>
    <script language="javascript">
        $(document).ready(function(){
            $('#test').click(function(){
                $('#container').clone().attr('id', 'container2').find('select').each(function() {
                    var $elem = $(this);
                    var value = $elem.val();
                    alert(value);
                });
            });
        });
    </script>
</head>

<body>
<div id="container">
    <select>
        <option value="">--</option>
        <option value="Service">Service</option>
        <option value="Sales">Sales</option>
        <option value="Marketing">Marketing</option>
        <option value="Finance">Finance</option>
        <option value="Engineering">Engineering</option>
        <option value="Management">Management</option>
    </select>
</div>
<input type="button" id="test" />
</body>

</html>
4

5 回答 5

2
$('#container').clone().attr('id', 'container2').find('select > option').each(function() {
                var $elem = $(this);
                var value = $elem.val();
                alert(value);
            });

将 find 方法中的选择器更改为 select > option from select。

另外,如果您不打算将元素附加到 DOM,为什么还要克隆它。

要获取克隆元素的选定值,您可以使用

$('#container').clone().attr('id', 'container2').find('select > option:selected').val()

如果您需要将克隆的元素插入 DOM,您可以使用

$('#container').clone().attr('id', 'container2').appendTo("body")

以及在将克隆元素插入 DOM 后获取所选选项值的完整代码

$('#container').clone().attr('id', 'container2').appendTo("body").find('select > option:selected').val()

按钮点击的完整代码

 $(document).ready(function(){
            $('#test').click(function(){
                $('#container').clone().attr('id', 'container2').appendTo("body").find('select > option:selected').each(function() {
                    alert ( $(this).val());
                });
            });
        });
于 2009-08-31T12:12:56.103 回答
1

我已经尝试过了,这很有效。

$container.find('select').each(function() {
    alert($(this).attr('value'));
});
于 2009-08-31T12:16:19.147 回答
0
$('select > option:selected').val();

要遍历页面上的所有选择元素并提醒所选选项的值:

$('select > option:selected').each(function() {
    alert($(this).val());
});
于 2009-08-31T12:15:44.623 回答
0

你说的对。clone丢失选定的值。

我所做的是,在使用克隆时,我用相同的方式查找实际元素id并获得它的值。

从实际元素而不是克隆中获取值

如下图,

var selectedOption = $('#' + cloneOfSelect.attr('id')).find('option:selected');

var selectedValue = selectedOption.val(); //or .text() for display value
于 2012-07-18T15:51:23.647 回答
0
function studentInfo() {
var studentInfoUrl = ".../studentInfourl"; 
var multiTags=$('.copy');
var name= multiTags.find("select.form-control#name").map(function() {
    return $(this).val();
}).get().join(',');
var dob= multiTags.find("input.form-control#dob").map(function() {
    return $(this).val();
}).get().join(',');
var gender= multiTags.find("#gender:checked").map(function() {
    return $(this).val();
}).get().join(',');
var collage= multiTags.find(".input.form-control#collage").map(function() {
    return $(this).val();
}).get().join(',');
var cloneName= '';
var cloneDob= '';
var cloneGender= '';
var cloneCollage= '';
var arr=[];
if($('.copy').length<=2){
      cloneName= name.split(',');
        cloneDob= dob.split(',');
        cloneGender= gender.split(',');
         cloneCollage= collage.split(',');
}
    for(var i=0;i<$('.copy').length ;i++){
        var studentInfo = {
                studentId  :   $("#studentId").val(),
                name       :   cloneName[i],
                dob        :   cloneDob[i],
                gender     :   cloneGender[i],
                collage    :   cloneCollage[i],
        };
        arr.push(studentInfo);
    }
    var astudentJsonRequest = JSON.stringify(arr);
    alert(arr);
    $.ajax({
        contentType : "application/json",
        dataType : 'json',
        data : astudentJsonRequest ,
        cache : false,
        type : "POST",
        url : studentInfoUrl ,
        success : function(data){}

}); }

在这里,我可以从克隆表中获取单个输入类型值,然后使用 split 方法拆分这些值,在我找到克隆表的长度并将这些值分配给相应的 bean 值之后。

于 2014-07-11T06:50:54.517 回答