javascript一次获取多个属性

时间:2011-12-07 01:18:24

标签: php javascript jquery

编辑:

通过对响应的提示,我知道该名称不是div标签的有效属性,但它是用于选择的。

function modifica(estado,numero){
    alert(numero);
    $.ajax({
    type: "GET",
    datatype: "html",
    url: "icallverifica.php",
    data: {
    estado : estado,
    modifica : "1" ,
    numero : numero
    },
    success: function(data) {
        alert(data);
    }
    });
}

所以,我希望使用onchange立即获得多个属性:

if($valor == 0){
    mysql_select_db("iloja_icall", $con);
    $result1 = mysql_query("SELECT * FROM icall WHERE verifica='0'");
    while($row = mysql_fetch_array($result1)){
    echo $row['numero'].'<select id="optin" name="'.$row['numero'].'" onchange="modifica(this.value,this.name)">
  <option value="chamada">Chamada</option>
  <option value="atendeu">Atendeu</option>
  <option value="atendeunao">Nao atendeu</option>
  <option value="engano">Engano</option>
</select>';
    echo '<br>';
    }
}

这个COMBO现在正在疯狂地工作:D谢谢你们这么多的人,这就是为什么我喜欢stackoverflow:)

不应该这样吗?

非常感谢你们!

2 个答案:

答案 0 :(得分:2)

根据这个问题的标签,我看到你正在使用jQuery。

// assuming you're passing "this" to function
function modifica(me) {
    var id = me.parentNode.id; // or $(me).parent().attr('id'); etc
}

此外,您可以删除onchange属性并使用偶数监听器进行设置(推荐):

$('#optin').change(function(e) {
    // code here
    var option = $(this).val(); // current selected option for example

    // if you want to get ALL attributes of an element:
    var attribs = $(this)[0].attributes; // or $('#elementID')... etc
});

如果您希望迭代(循环)所有元素的属性,请查看以下内容:How to iterate through all attributes in an HTML element?

答案 1 :(得分:0)

'name'是div标签的无效属性。应该切换到'id'。这也不需要调用.attr('name')而是使用:

$(this).parent().id;