从JavaScript中的动态创建的选择框中获取值

时间:2014-06-03 13:20:46

标签: javascript jquery

这里我编写了一些代码,用于使用JavaScript从动态选择框中获取值。

以下是代码:

function getCategory(categoryval) {
    var category = categoryval;
    $.ajax({
        type: 'GET',
        url: "childinfo.html?method=getCategory",
        async: false,
        success: function (response) {

            var result = $.parseJSON(response);

            for (var j = 0; j < result.parentVOList.length; j++) {
                $(category)
                    .append(
                    '<option value="' + result.parentVOList[j].classStreamID + '">' + result.parentVOList[j].category + '</option>');
            }
        }
    });
}
var tt = document.getElementById("userRecords");
var tr2 = document.createElement("tr");
var td_stream = document.createElement("td");
var addtxt2 = document.createElement("select");

addtxt2.name = "stream";
addtxt2.id = "stream" ;
addtxt2.setAttribute("class", "stream");
getCategory(".stream");
td_stream.appendChild(addtxt2);
tr2.appendChild(td_stream);
tt.appendChild(tr2);
var pramoteBtn_tr1 = document.createElement("tr"); //Creating TR Tag for header
var pramoteBtn_td1 = document.createElement("td"); // Creating First TD
var br = document.createElement("br");
tt.appendChild(br);

var pramoteBtn = document.createElement("input");
pramoteBtn.setAttribute("type", "button");
pramoteBtn.setAttribute("value", "Pramote");
pramoteBtn.setAttribute("name", "pramote");
pramoteBtn.setAttribute("class", "pramote");

pramoteBtn_td1.appendChild(pramoteBtn);
pramoteBtn_tr1.appendChild(pramoteBtn_td1);
tt.appendChild(pramoteBtn_tr1); 

当我点击Pramote按钮时,我想要流值。

所以我写了一些代码:

$('#userRecords').delegate(".pramote","click",function(){
    var value=[];
    value=$("#userRecords.stream").val();
    alert(value);
});

但是当我点击Pramote按钮时,价值即将到来undefined
请给我任何获取流值的解决方案。

1 个答案:

答案 0 :(得分:1)

由于你没有提供你的HTML,我无法告诉你如何制作它。但我会这样做:

var currentVal = 0;
function addOption(categoryId) {
    $('#wrapper #' + categoryId).append('<option value="' + (currentVal++) + '">Some text</option>');
}

$(document).ready(function(){
   $(document).on('click', '.promote', function(){
       var values = [];
       $.each($('select option:selected'), function(){
           values.push($(this).val());
       }

       console.log(values);
   }
});

<div id="#wrapper"></div>

使用addOption功能,您可以为指定的类别添加一些选项,点击.promote后,您将收集所有选定的值。