我有这个jQuery函数:
$('.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上阅读了有关此类问题的其他一些类似问题,但我希望有人能够指出我可以在jQuery函数中解决的地方。
尝试更改event.target
为this
。this
始终引用侦听器附加到的DOM元素,但event.target
实际上是被单击的DOM元素,例如:
<button class="bid_btn" value="1"> <span> Icon </span> Button </button>
如果您附加了单击侦听器:
$('.bid_btn').click(function(event) {...});
当您单击时span
,处理程序将被调用,并且event.target
是span元素,其中没有no value
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句