我坚持使用这个,我希望从js到CI的结果..我想从js获得字符串类型数据,并将其发送回CI。 这是我的代码:
<?php $i=0; foreach ($bahanx as $pin2){ ?> <script type="text/javascript">
document.write("<div class='input-group' style='width:175%'><label class='input-group-addon' style='width:100px'><input type='checkbox' name='bahan' aria-label='Checkbox for following text input' value="+<?php echo $pin2->id_barang ?>+" oninput='changeText(this,"+<?php echo $i ?>+");' > <?php echo $pin2->nama_barang;?></label><input type='text' class='form-control' aria-label='Text input with checkbox' name='banyak_bahan' value='0' disabled/></div><br/>");
</script>
<?php
$i++; } ?>
和此:
var item_box = document.getElementsByName('banyak_bahan');
var item_name = document.getElementsByName('bahan');
var tot;
function changeText(e,i){
item_name[i].value = e.checked ? 1 : 0;
item_box[i].disabled = !e.checked;
var x=x+","+item_box[i];
var y=y+","+item_name[i];
//alert(x);
document.getElementById('fff').innerHTML=x+"<br/>"+y;
}
ID = FFF
<div id='fff'></div>
结果:
undefined,[object HTMLInputElement] undefined,[object HTMLInputElement]
答案 0 :(得分:1)
试试这个你有无效的js字符串,因为你在里面打印+<?php echo $aaa;?>+
试图删除+
UPDATE:尝试直接从php回复。
<?php
$i=0;
foreach ($bahanx as $pin2){
echo "<div class='input-group' style='width:175%'><label class='input-group-addon' style='width:100px'><input type='checkbox' name='bahan' aria-label='Checkbox for following text input' value='".$pin2->id_barang."' oninput='changeText(this,".$i.");' > ". $pin2->nama_barang ."</label><input type='text' class='form-control' aria-label='Text input with checkbox' name='banyak_bahan' value='0' disabled/></div><br/>";
$i++;
}
?>
而不是
<?php $i=0; foreach ($bahanx as $pin2){ ?>
<script type="text/javascript">
document.write("<div class='input-group' style='width:175%'><label class='input-group-addon' style='width:100px'><input type='checkbox' name='bahan' aria-label='Checkbox for following text input' value="<?php echo $pin2->id_barang; ?>" oninput='changeText(this,"<?php echo $i; ?>");' > <?php echo $pin2->nama_barang; ?></label><input type='text' class='form-control' aria-label='Text input with checkbox' name='banyak_bahan' value='0' disabled/></div><br/>");
</script>
<?php $i++; } ?>
更新:您看到x&amp; y未定义为第一,要获取复选框元素的值,您必须使用item_name[i].value
,item_box[i].value
var item_box = document.getElementsByName('banyak_bahan');
var item_name = document.getElementsByName('bahan');
var tot;
function changeText(e,i){
item_name[i].value = e.checked ? 1 : 0;
item_box[i].disabled = !e.checked;
var x= item_box[i].value;
var y= item_name[i].value;
//alert(x);
document.getElementById('fff').innerHTML=x+"<br/>"+y;
}