Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从JavaScript对象访问select HTML元素_Javascript_Jquery - Fatal编程技术网

从JavaScript对象访问select HTML元素

从JavaScript对象访问select HTML元素,javascript,jquery,Javascript,Jquery,我有一个JavaScript对象,它返回HTML信息,以填充响应性web应用程序。我遇到了一个问题,访问一个带有类的选择框来识别它并获取它包含的所选选项 以下是我正在做的: var EditRowRestriction = OptionRules.prototype.getEditRowRestriction(j); <!-- THIS IS THE OBJECT THAT CALLS A METHOD TO POPULATE HTML ELEMENTS TO BE SENT BACK T

我有一个
JavaScript对象
,它返回
HTML信息
,以填充响应性web应用程序。我遇到了一个问题,访问一个带有类的选择框来识别它并获取它包含的所选选项

以下是我正在做的:

var EditRowRestriction = OptionRules.prototype.getEditRowRestriction(j); <!-- THIS IS THE OBJECT THAT CALLS A METHOD TO POPULATE HTML ELEMENTS TO BE SENT BACK TO THAN BE USED TO POPULATE SCREEN
var check = $(EditRowRestriction).find("select");

console.log(check);
现在,我已经能够将其记录下来,如果我尝试执行类似以下操作,
检查[0]。查找(':selected').text()

它将响应一个错误:
uncaughttypeerror:undefined不是一个函数

现在,如果我只是输出
复选框[0]
,我会得到这样的结果:

有什么建议吗

更新:

下面是如何填充
select
的示例

var sel = document.createElement("select");

    $.ajax({
        url: "actions/....php",
        type: "post",
        dataType: "json",
        data:
        {
            'function' : "admin_populate_global",
            'elevation_name' : '',
            'user' : $("li.selected").text()
        },
        success: function(data){

            // FIRST MAKE SURE DATA WAS FOUND
            if(data["status"] == "found")
            {
                    var restrictionArray = data["data_retrieved"].split(',');
                        var events = $(".option-rule-item").map(function() {
                            if($(this).hasClass("selected"))
                            {
                            }
                            else
                                return this.innerHTML;
                        }).get();

                        var checkReturnedText = $.trim(restrictionArray[loop_amount]);

                        sel.className ="restirction-select";

                        var opt = document.createElement("option");

                        opt.innerHTML = checkReturnedText;
                        opt.setAttribute("value", checkReturnedText);
                        sel.appendChild(opt);
                        for(var i = 0; i < events.length; i++)
                        {
                            if(checkReturnedText == events[i])
                            {
                            }
                            else
                            {
                                var opt = document.createElement("option");
                                var event = events[i];
                                opt.innerHTML = event;
                                opt.setAttribute("value", event);
                                sel.appendChild(opt);
                            }
                        }


            }
        },
        error:function(){
            alert("An error occured, please try again.");
        }
    });
    return sel;
var sel=document.createElement(“选择”);
$.ajax({
url:“actions/…php”,
类型:“post”,
数据类型:“json”,
数据:
{
'功能':“管理\填充\全局”,
“立面图名称”:“,
“用户”:$(“li.selected”).text()
},
成功:功能(数据){
//首先确保找到了数据
如果(数据[“状态”]=“找到”)
{
var restrictionArray=数据[“检索到的数据]。拆分(',');
var事件=$(“.option规则项”).map(函数(){
if($(this).hasClass(“选定”))
{
}
其他的
返回this.innerHTML;
}).get();
var checkReturnedText=$.trim(restrictionArray[loop_amount]);
sel.className=“重新循环选择”;
var opt=document.createElement(“选项”);
opt.innerHTML=checkReturnedText;
opt.setAttribute(“值”,选中ReturnedText);
选择附加儿童(opt);
对于(var i=0;i
check[0]
是一个DOM对象,因此不能对其使用jQuery方法,使用
check.find(…
?@charlietfl
check.find(':selected')。text()
不输出任何内容。是否选择了任何内容?尝试记录
check.html()
@charlietfl ya nothing outputseither在ajax回调中执行您需要的操作或查看使用承诺
var sel = document.createElement("select");

    $.ajax({
        url: "actions/....php",
        type: "post",
        dataType: "json",
        data:
        {
            'function' : "admin_populate_global",
            'elevation_name' : '',
            'user' : $("li.selected").text()
        },
        success: function(data){

            // FIRST MAKE SURE DATA WAS FOUND
            if(data["status"] == "found")
            {
                    var restrictionArray = data["data_retrieved"].split(',');
                        var events = $(".option-rule-item").map(function() {
                            if($(this).hasClass("selected"))
                            {
                            }
                            else
                                return this.innerHTML;
                        }).get();

                        var checkReturnedText = $.trim(restrictionArray[loop_amount]);

                        sel.className ="restirction-select";

                        var opt = document.createElement("option");

                        opt.innerHTML = checkReturnedText;
                        opt.setAttribute("value", checkReturnedText);
                        sel.appendChild(opt);
                        for(var i = 0; i < events.length; i++)
                        {
                            if(checkReturnedText == events[i])
                            {
                            }
                            else
                            {
                                var opt = document.createElement("option");
                                var event = events[i];
                                opt.innerHTML = event;
                                opt.setAttribute("value", event);
                                sel.appendChild(opt);
                            }
                        }


            }
        },
        error:function(){
            alert("An error occured, please try again.");
        }
    });
    return sel;