2016-07-23 54 views
0

我有這樣的jQuery的功能:jQuery的功能追加投入,形成在Chrome的作品,但不是Safari瀏覽器

$('.bid_btn').click(function(event) { 
     var doctor_id = $(event.target).val(); 
     console.log(doctor_id); 
     if(doctor_id == ""){ 
      console.log('nothing here'); 
     } else { 
       if(!$('input[name="form_doctor_id"]').length){ 
        $form.append($('<input type = "hidden" name = "form_doctor_id">').val(doctor_id)); 
       } else { 
        if(doctor_id == "Book Appointment"){ 
        console.log('nothing to add here'); 
        } else { 
        $('input[name="form_doctor_id"]').val(doctor_id); 
        } 
       } 
      } 
     $(this).unbind(event); 
    }); 

它的作用是作爲一個班bid_btn的價值隨時按鍵與類單擊,然後將其作爲隱藏輸入附加到表單。它在Chrome中運行良好,但它在Safari中不起作用,我無法弄清楚原因。我已經閱讀了關於Stack Overflow的這類問題的其他類似問題,但我希望有人能夠幫助指出我可以在哪裏解決這個問題。

+0

這是'button.bid_btn'包含任何其他HTML標籤? –

+0

是的,它是一個html類,所以它有多個標籤。 –

+1

嘗試將'$(event.target).val()'更改爲'$(this).val()'。 –

回答

1

嘗試將event.target更改爲thisthis總是指的是監聽器附加到DOM元素,但event.target是被點擊的實際的DOM元素,例如:

<button class="bid_btn" value="1"> <span> Icon </span> Button </button> 

如果安裝點擊收聽:

$('.bid_btn').click(function(event) {...}); 

當你點擊span然後處理程序將被調用,並且event.target是沒有value的跨度元素。

相關問題