javascript - 将 JS 的结果传给 CI

标签 javascript php html codeigniter

我坚持这个,我想要从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]

最佳答案

试试这个,你有无效的 js 字符串,因为你打印 +<?php echo $aaa;?>+里面尝试删除+

更新:尝试直接从 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 和 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;
}

关于javascript - 将 JS 的结果传给 CI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40202451/

相关文章:

javascript - Css Hover div 没有按预期工作

javascript - 如何将 url 参数传递给 couchdb 映射函数

html - rem 通过媒体查询调整大小在 webkit 中不起作用?

javascript - 检测工作的 CustomEvent 构造函数

PHP Curl 无法从任何网址获取数据

php - 搜索表以确认然后更新表行

php - codeigniter 中的多批更新不起作用

javascript - 从没有 ID 的 Img 中获取 id

javascript - 在html中 ionic 中多次运行的函数

javascript - 处理 Js promise 拒绝