2011-12-07 21 views
1

編輯的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); 
    } 
    }); 
} 

所以,我想在使用一次電平變化來獲得多重屬性:

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>'; 
    } 
} 

這個組合現在工作完美:d THANK YOU SO MUCH傢伙,這就是爲什麼我愛計算器:)

不應該工作嗎?

非常感謝!

+1

爲什麼不直接使用'的onchange =「modifica(本)」'那麼你就可以得到所有這是從你的'modifica內性能'功能?或者只是傳遞'select'的'id'並使用javascript來獲得你所需要的? –

+0

你能告訴我們這個與PHP代碼,因爲我們不知道從哪裏來:$ row ['numero']' – noob

+0

「modifica(this.value,this.name)」是不正確的,這將返回選擇哪個沒有「name」屬性,你想要做的就是使用「modifica(this)」,然後調用$(this).parent()。attr(「name」)來獲得父類的名稱選擇 – 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;