使用jQuery将属性添加到选项

使用jQuery将属性添加到选项,jquery,Jquery,我有一个onclick事件: <button class="editbutton" onClick='edit(this, "<?php echo $this->result[$i]["ctype"]; ?>", "<?php echo htmlentities($this->result[$i]["name"], ENT_QUOTES); ?>", "<?php echo $quality; ?>", "<?php echo $thi

我有一个onclick事件:

<button class="editbutton" onClick='edit(this, "<?php echo $this->result[$i]["ctype"]; ?>", "<?php echo htmlentities($this->result[$i]["name"], ENT_QUOTES); ?>", "<?php echo $quality; ?>", "<?php echo $this->result_cameras[$i]["camera_hash"]; ?>", "<?php echo $status; ?>",...)'></button>
这很有效。我的问题是选择并进行默认选择。我传递变量状态来帮助实现这一点。它的值为0 off、1 on或optgroup下的字符串名称

因此,这里的代码非常适用于开/关属性:

if (status == 1) {
    $statusEnabled.prop("selected", "selected");
}
else if (status == 0){
    $statusDisabled.prop("selected", "selected");
}
else {

    console.log(status);
}

$selectStatus.append($statusEnabled, $statusDisabled, $optgroup);
if (status == 1) {
    $statusEnabled.prop("selected", "selected");
}
else if (status == 0){
    $statusDisabled.prop("selected", "selected");
}
else {
    $selectStatus.each(function() {
        if($(this).html() == status)
            $(this).prop("selected", true);
    });
}

在else块中,console.log向我显示正确的值。我想我只是在想如何在这个上下文中分配一个选定的值?

您应该浏览s标记,如果其中一个标记与名称匹配,则分配一个选定的属性:

if (status == 1) {
    $statusEnabled.prop("selected", "selected");
}
else if (status == 0){
    $statusDisabled.prop("selected", "selected");
}
else {

    console.log(status);
}

$selectStatus.append($statusEnabled, $statusDisabled, $optgroup);
if (status == 1) {
    $statusEnabled.prop("selected", "selected");
}
else if (status == 0){
    $statusDisabled.prop("selected", "selected");
}
else {
    $selectStatus.each(function() {
        if($(this).html() == status)
            $(this).prop("selected", true);
    });
}
编辑

您可以在创建选项时设置选定的特性:

for (i=0; i<info.length; i++) {
    var $op = jQuery("<option value='" + info[i].info_hash + "'>" + info[i].info_name + "</option>");
    if(info[i].info_name == status)
        $op.prop("selected", true);
    $optgroup.append($op);
}

嗯,我似乎从来没有进入过每个功能。选择器有问题吗?它是Status,所以我尝试了$Status选项。每个函数…不幸运的是,这部分代码运行时已经添加到页面中了?嗯,是的,我直到稍后才添加$editForm。append$labelStatus,$selectStatus。。。。;。我试着移动那个密码,但没有运气…更近了。现在的问题是如果$this.html==status,if语句就不会得到计算。这个$this.html似乎是空的。让我问你。。。在创建select时,您是否已经具有状态值?