使用javascript(数组)获取checkbox属性

时间:2017-08-22 02:27:12

标签: javascript php jquery arrays checkbox

大家好我想获取我的复选框的属性。复选框是一个数组,所以我想获取已选中复选框的属性并将其放在文本框上,并用逗号分隔。

这是我的php / html

$query = $db->select('owners_information',array('*'),$con);

foreach($query as $q){
     //echo $q['lastname'];        
      $output .= '
      <tr>
        <td>'.$q["firstname"].'</td>
        <td>'.$q["middlename"].'</td>
        <td>'.$q["lastname"].'</td>
        <td>'.$q["land_area"].'</td>
        <td><input type="text" value="'.$q["OCPC_ID"].'" name="ocid[]">
        <input type="checkbox" value="'.$q["land_area"].'" name="checkval[]" attr="'.$q["OCPC_ID"].'"></td>
      </tr>
      ';

  }
if($query > 0){
    echo '<input type="text" name="textval" id="textval">';
    echo '<br><input type="text" name="ocpc_id" id="ocpc_id">';
    echo '<input type="button" name="merge" id="merge" value="Merge" onclick="mergeFunc()">';
    echo '<input type="button" name="addNew" id="addNew" value="Add New RPU" onclick="addMerge()" style="display:none;">';
    echo $output;
  }else{
    echo "No data found";
  }

这是我的javascript

function mergeFunc() {

var checkboxes = document.getElementsByName('checkval[]');
var cd = document.getElementsByName("checkval[]");

var val_id = "";
for (var l=0, n=cd.length;l<n;l++) 
{
  if (cd[l].checked) 
  {
    val_id += ","+cd[l].attr;
  }
}
if (val_id) val_id = val_id.substring(1);

alert(val_id);


var vals = "";
for (var i=0, n=checkboxes.length;i<n;i++) 
{
  if (checkboxes[i].checked) 
  {
      vals += ","+checkboxes[i].value;
  }
}
if (vals) vals = vals.substring(1);


$('#ocpc_id').val(val_id);
$('#textval').val(vals);
$('#merge').hide();
$('#addNew').show();
} 

我想获取名为checkval[]的复选框的属性。我想得到attr数组中的内容。我希望你能帮助我们。

2 个答案:

答案 0 :(得分:1)

试试这个

FILE(COPY yourImg.png DESTINATION "${CMAKE_BINARY_DIR}")

请参阅demo

答案 1 :(得分:0)

var val_id = "";
for (var l=0, n=cd.length;l<n;l++) 
{
  if (cd[l].checked) 
  {
    val_id += ","+cd[l].getAttribute("attr");
  }
}
if (val_id) val_id = val_id.substring(1);

我已将val_id += ","+cd[l].attr;更改为val_id += ","+cd[l].getAttribute("attr");

感谢您的时间。