我在同一页面上有两(2)个相同的表单,当我尝试从第二个表单获取相同的var形式时,总是从第一个表单获取var。
<form id="form-vote-note-<?php echo $value->id_note; ?>" class="form-vote-note" method="POST" action="">
<input type="hidden" name="idvote" id="idvote" value="<?php echo $value->id_note; ?>">
<input class="form-check-input" type="radio" name="voteradio" id="voteradio" value="3">
<input class="form-check-input" type="radio" name="voteradio" id="voteradio" value="2">
<button type="submit" class="btn btn-primary">Oceń</button>
</form>
$('#form-vote-note').submit(function() {
var notevote = $('input:radio[name=voteradio]:checked').val();
var idvote = $('input[name=idvote]').val();
alert("notevote: " + notevote + " --- idvote: " + idvote);
//alert("Ocena: " + notevote + "\nId vote: " + idvote);
$.ajax ({
url: "<?php echo base_url();?>database/save_vote_note/",
type: "POST",
data: {idvote: idvote, notevote: notevote, id_product: <?php echo $id_product;?>},
dataType: 'json',
success: function(data) {
alert("Id vote:" + data.value['idvote'] + "\n voteradio: " + data.value['notevote'] + "\n id_product:" + data.value['id_product'])
},
error: function() {
},
});
});
答案 0 :(得分:0)
在通过PHP循环创建HTML时,有两种生成唯一引用的方法。
<?php
$cnt = 1;
while (condition){
$out .= '<input id="unique_' .$cnt. '" type="text" />';
$cnt++;
}
使用一个类。实际上,根本不需要使用ID。另一方面,如果元素具有多个类,则从className获取唯一标识符会稍微困难一些。因此,您可以使用一个通用前缀:
然后,您可以循环遍历所有className包含前缀的输入标签。
$('input').each(function(i, v){
if ( $(this).hasClass('[class^="unique"]') ){
var allCls = $(this).attr('class');
var targCls = get_targ_from_all_class(); //loop thru classes and return the one with prefix
var uniqID = targCls.split('_')[1]
}
});