【发布时间】:2019-07-30 15:48:47
【问题描述】:
当我选择图像时,我有一个单选按钮和一个图像,我应该用另一个图像替换它
function getAirlinesById(idAirlines) {
$.ajax({
dataType: 'json',
type: "POST",
url: '{{route('get-baggage-airlines')}}',
data:"airlines_id="+idAirlines,
success: function(response){
console.log(response);
$("#baggageAirline").empty();
for(let i=0;i<response.length;i++){
let category = response[i].baggage.category;
switch(category) {
case 1:
category = "KG";
break;
case 2:
category = "PCS";
break;
};
$("#baggageAirline").append('<div class="col-3 list-baggage"><input type="radio" class="input-radio-costum" required onclick="getPrice('+response[i].price_in_SGD+')" onchange="changeBackground('+response[i].baggage.config_baggage_id+')" name="baggage" value="'+response[i].baggage.max_range+' '+category+'"><img src="{{asset("assets/image/baggage.png")}}" class="image-default" id="image-selected'+response[i].baggage.config_baggage_id+'"><p class="baggage-amount">'+response[i].baggage.max_range+' '+category+'</p><p class="text-center tcc">'+response[i].currency_symbol+' '+response[i].price_in_SGD+'</p></input></div>');
}
},
error: function(xhr, status, error) {
alert('ERR_CONNECTION_TIMED_OUT');
location.reload();
}
});
}
我已经这样尝试过了,但是我选择的图像仍然存在并且都被选中,应该只选择一个,因为它使用单选按钮
function changeBackground(idBaggage){
$('#image-selected'+idBaggage).css({
'background-image' : "url('assets/image/baggageblack.png')",
'margin-top' : '-30px',
});
}
【问题讨论】:
-
您能提供一个可运行的代码示例吗?使用 jsfiddle 或 sn-p。每当状态更改(选中或未选中)时,您似乎都在设置背景,并且始终设置为相同的图像。我认为您只想制作一个带有背景集的简单 CSS 类,并在选中单选按钮时选择 on。
input[name='baggage']:checked ~ img { background-image: url(...) } -
为什么还要设置
img标签的background-image属性?您不想使用div或更改src属性吗?