我的视图中有一个表单,其中我使用数据库中的数据填充了一些动态单选按钮。代码看起来像这样-
<div class="row">
@foreach($status as $s)
<div class="col-md-6">
<label class="custom-control custom-radio">
<input id="status" name="status" value="{{$s->id}}" type="radio" class="custom-control-input">
<span class="custom-control-indicator"></span>
<span id="status-name" class="custom-control-description">
{{$s->specification}}
</span>
</label>
</div>
@endforeach
</div
在HTML中-
<div class="col-md-6">
<label class="custom-control custom-radio">
<input id="status" name="status" value="1" type="radio" class="custom-control-input">
<span class="custom-control-indicator"></span>
<span id="status-name" class="custom-control-description">Yes</span>
</label>
</div>
Yes Yes
现在我想通过ajax.I把它发送给控制器。我已经尝试过了-
var status = document.getElementsByName('status').value;
if(status) {
$.ajax({
url: '/getpriceajax'+'/'+status,
type: "GET",
dataType: "json",
success:function(data) {
$('#calculated_price').val(data[0]);
document.getElementById("price-show").innerHTML = "Product price is "+ data[0]+"and "+data[1];
$(".phone-value-details").slideDown(700);
return false;
}
});
}else{
}
但它总是发送第一个单选按钮的值,无论它是否被选中。我意识到这是因为两个单选按钮具有相同的名称,并且默认情况下,jquery采用第一个按钮。因此,我想动态地重命名它们。就像-
name="status_{{$s->id}}"
但是我不知道如何在Jquery中访问这个动态名称或id。
发布于 2018-06-02 07:29:20
您不需要更改status
输入的名称。但是您需要更改id属性,使其在整个文档上为unique。或者,如果在客户端脚本或CSS中不需要它们,请不要使用它们。
要获取status
的值,请使用以下代码:
var status = $('input[name="status"]:checked').val();
https://stackoverflow.com/questions/50652018
复制相似问题