Firefox'ta php jquery hata

3 Cevap php

I'm having trouble with some Javascript, and hopefully someone may be able to help! First, here is the code:

function Client_Selected() {
    var temp = $("input:radio[name='selected_client']:checked").val();
    var f_input_name = "fname_" + temp;
    var l_input_name = "lname_" + temp;    
    var first = $("input[name='"+f_input_name+"']").val();
    var last = $("input[name='"+l_input_name+"']").val();
    var content = first + " " + last;
    var thispage = $("input[name='current_page']").val();

    // Now Load the Notes!!!
    dataString = 'web_id='+temp+'&Section='+thispage;
    $.ajax({
        type: "POST",
        url: "<?=URL_SSL_WEBSITE_ROOT?>/notes/loadClientNotesAJAX",
        data: dataString,
        success: function(msg) {
            $("#notes_body").html(msg);
            $("#note_client_name").html(content);
        }
    });        

    $("#button_client_name").html(content);
    $("#note_client_name").html(content);    
    $("input:radio[name=selected_client]:checked").attr(checked, true);
};

My problem is with the last line. What's going on, is I have a list of clients who are associated with a radio button, when a button is clicked I make an AJAX call to get/display information about the client. If the last line is not present, then when I select a second client, it loads the information but the new client's radio button does not stay checked and instead the previous (or first) selected clients radio button remains checked.

Son satırın ile ben bir hata alıyorum: "işaretli tanımsız"

despite the error everything worked and the appropriate checkbox remained checked. However, with the new update to firefox yesterday ... the appropriate checkbox remains checked, though my success function never runs on the ajax call, and the javascript simply stops on the last line. It still works in IE, but I need to get this working again in firefox. Any Ideas?

I've tried changing it to: $("input:radio[name=selected_client]:checked").attr('checked', true); Which then the success function runs, and the information is populated on my webpage, however I then get the problem of the newly selected checkbox NOT remaining checked and the previous one remains checked.

Herhangi bir Yardım çok takdir edilmektedir.

Teşekkürler

3 Cevap

Bazı alıntılar eksik gibi görünüyor

$("input:radio[name=selected_client]:checked").attr('checked', 'checked');

ajax aramanın başarısı fonksiyonu son satırı deneyin.

(true, 'işaretli') attr kullanın

kontrol tanımsız

Kesinlikle öyle. Kullanılan {[(0)];} JavaScript yok checked adında bir değişken, arıyor. Bir dize, tırnak ile 'checked' demek istedim.

Bununla birlikte,

$("input:radio[name=selected_client]:checked").attr('checked', true);

Eğer selektörden tanımı ile zaten kontrol edilir bir radyo kontrol çünkü hiçbir şey yapmaz. Burada ne, yapmaya çalışıyorsun?

Bir radyo düğmesi onclick işleyicisi bu yapıyorsun, işlevinin yürütülmesi sırasında :checked radyo o biri olacak, yeni tıklandığında biri olmayacak unutmayın daha önce kontrol edildi. Bu onclick olay işleme click-to-değişim-checkedness aslında geçer bitene kadar değil. Eğer sırasında yeni radyo öğrenmek istiyorsanız, bir onclick, sen this veya aradığınız nasıl bağlı event nesneye bakmak zorunda kalacak fonksiyonu.


Diğer yanıtlar Re:

attr ('işaretli', 'işaretli')

Bu dışarı vererek durdurmak miyiz? O değil çünkü düşünüyorum nedenlerinden çalışır. jQuery attr() not (tarayıcı hataları etrafında çalışarak köşe durumlarda bir çift hariç) HTML özniteliklerini ayarlamak gelmez. JavaScript özelliklerini ayarlar, ancak HTML özniteliklerini eşleştirmek için isimleri düzeltmek için çalışıyorum. Yani:

attr('checked', true);

veya false unsetting için, doğru bir yaklaşım değildir. Bir boolean özellik değerlendirildiğinde zaman truthy çünkü değeri 'checked' çalışır. Herhangi bir boş olmayan bir dize tam olarak aynı yapardı.

JQuery did HTML özelliklerini ayarlarsanız HTML checked özellik CheckBox initial ayarına (karşılık, çünkü attr('checked'), işe yaramaz aka defaultChecked), not geçerli checkedness durumu.