2011-12-07 8 views
1

EDITのonchangeで複数の属性を取得します:Javascriptを一度

私は名前が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>'; 
    } 
} 

THIS COMBO今すぐ完璧に働いている:Dは私がstackoverflowの好きな理由これは、そんなにGUYSありがとう:)

これは機能しませんか?

ありがとうございます!

+1

理由だけではなく、 'その後、あなたはそれがあなたの' modifica内からのプロパティだすべてを取得することができます 'のonchange =「modifica(これを)」を使用していません'関数?または、単に 'select'の' id'を渡して、必要なものを得るためにjavascriptを使用しますか? –

+0

これはどこから来るのかわからないので、これをPHPコードで表示することができます: '$ row ['numero']' – noob

+0

modifica(this.value、this.name) "は正しくありません。あなたがしたいのは、 "modifica(this)"を使用して、$(this).parent()。attr( "name")を呼び出して、その名前の親divの名前を取得することです。 – ComputerSaysNo

答えて

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?

0

'name'はdivタグの無効な属性です。 'id'に切り替える必要があります。また、これは.ATTR(「名前」)を呼び出し、代わりに使用する必要がなくなり:

$(this).parent().id;