需要一些帮助,我已经搜索过Google并没有运气。
我正在尝试在div类“ size-number”中更新单选按钮的值。我想在下面的ajax请求中使用该值。当我检查元素时,单选按钮具有可用按钮的更新值,但是当我在jquery中进行console.log记录时,尽管我选择了它,但它仍具有相同的初始值。香港专业教育学院试图将单选按钮设置为checked =“ checked”。我也相信这是默认值的问题。香港专业教育学院还尝试了jQuery中的输入验证。另外,我也尝试在jquery中引用输入(“ input [name ='radiobten']:checked”)。任何建议将不胜感激!
$(".size-number").click(function(){
var modelid = $("#modelval").attr('value');
console.log(modelid);
$.ajax({
url: '"Example API"',
data: [],
dataType: 'json',
type: "GET",
success: function(res){
var newarr = (res).filter(function(indx){
return indx.model_cat_id == modelid
});
console.log(newarr)
$('modelselect').slideToggle(200).html(res);
}});
});
<?php foreach ($brands as $brand){ ?>
<div class="search-select">
<i class="fas fa-chevron-down"></i>
<a href="/<?php echo $brand->full_slug.$urlSize; ?>">
<?php echo $brand->name; ?></a>
</div>
<?php
$slugCurrent = $brand->slug;
foreach ($models as $model){
if($model->brand_id == $brand->id){
if(is_null($model->model_cat_id)){?>
<div class="size-number" style="display: none;">
<a href="/<?php echo $brand->slug; ?>/<?php echo $model->slug_full.$urlSize; ?>" style="color: blue;"><?php echo $model->name; ?><input type="radio" id="modelval" name="radiobten" value="<?php echo $model->id?>"/></a>
</div>
<?php
}
}
}
}?>
答案 0 :(得分:1)
您不能有多个具有相同ID的元素,即modelval
。无论选择哪个按钮,这始终会为您提供第一个单选按钮的值。请使用class
来获取单选按钮的值。因此,单击div时,可以使用$(this).find("yourclassname").attr('value')
来获取该特定按钮的值。仅按钮。
演示代码:
$(".size-number").click(function() {
//div->find closest modelval->value
var modelid = $(this).find(".modelval").attr('value');
console.log(modelid);
$.ajax({
url: '"Example API"',
data: [],
dataType: 'json',
type: "GET",
success: function(res) {
var newarr = (res).filter(function(indx) {
return indx.model_cat_id == modelid
});
console.log(newarr)
$('modelselect').slideToggle(200).html(res);
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="size-number" >
<a href="/<?php echo $brand->slug; ?>/<?php echo $model->slug_full.$urlSize; ?>" style="color: blue;">Abc<input type="radio" class="modelval" name="radiobten" value="1"/></a>
</div>
<div class="size-number" >
<a href="/<?php echo $brand->slug; ?>/<?php echo $model->slug_full.$urlSize; ?>" style="color: blue;">Xyz<input type="radio" class="modelval" name="radiobten" value="2"/></a>
</div>