2013-05-26 2 views
3

У меня есть таблица, как это:Передать значение строки проверяется таблица в массиве

CheckBox Course Semester Paper  Level 
    []   ABC   1   1  •Expert •normal 
    []   ABC   1   2  •Expert •normal 
    []   ABC   1   3  •Expert •normal 

[Save] 

В приведенном выше значении флажка таблицы является значением бумаги. Проблема, с которой я сталкиваюсь, заключается в том, что когда я нажимаю «Сохранить», она запускает параметризованные параметры функции javascript ($ course, $ semester), так как вы можете видеть, что они такие же, но я не могу отправить значение флажка и значение уровня вместе , человек может выбрать эксперта или нормального уровня для данного документа. Я не могу отправить их в javascript.

function flagaddpapers(course, semester) { 
    displayBox = document.getElementById("studentBox"); 
    elements = document.getElementsByName('pids[]'); 
    levelid = document.getElementsByName('radios[]'); 

    data = []; 
    for (i = 0; i < elements.length; i++) { 
     if (elements[i].checked) { 
      data.push('pids[]=' + encodeURIComponent(elements[i].value)); 
     } 
    } 
    params = "teacher=" + encodeURIComponent(teacher) + "&course=" + encodeURIComponent(course) + "&semester=" + encodeURIComponent(semester) + "&flag=" + encodeURIComponent(1) + "&" + data.join('&'); 
    if (window.XMLHttpRequest) { 
     xmlhttp = new XMLHttpRequest(); 
    } else { 
     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xmlhttp.onreadystatechange = function() { 
     if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
      document.body.removeChild(document.getElementById('loadMsg')); 
      result = xmlhttp.responseText; 
      alert(result); 
      displayBox.className = "dimBox"; 
      setTimeout(function() { 
       ajaxstp(); 
       document.body.removeChild(document.getElementById('adBackground')); 
       document.body.removeChild(document.getElementById('adBox')); 
      }, 200); 
     } 
    } 
    xmlhttp.open("POST", "tpaper.php", true); 
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
    xmlhttp.send(params); 
} 

Это мой HTML-код:

echo "<tr> 
<th style='font-size:12px;'><input type='checkbox' id='master_check' 
onclick='masterSelect();' style='display:inline-block;cursor:pointer;'></th> 
<th style='font-size:12px;'>S.No</th> 
<th style='font-size:12px;'>Course</th> 
<th style='font-size:12px;'>Semester</th> 
<th style='font-size:12px;'>Level</th> 
<th style='font-size:12px;'>Paper</th></tr>"; 
$counter17 = 1; 
while($row4 = mysql_fetch_array($q4)) 
{ 
$pids = $row4['pid']; 
echo "<tr>"; 
echo "<td><input type='checkbox' name='pids[]' class='persistentChecks' 
style='display:inline-block;cursor:pointer;' value=".$pids."></td>"; 
echo "<td style='text-align:center;font-size:12px;'>".$counter17."</td>"; 
echo "<td style='text-align:center;font-size:12px;'>".$row4['cname']."</td>"; 
echo "<td style='text-align:center;font-size:12px;'>".$semester."</td>"; 
echo "<td style='font-size:12px;'><input type='radio' name='radio[]' id='radio1' 
value='1'>Expert</input><input id='radio2' type='radio' name='radio[]' 
value='2'>Normal</input></td>"; 
echo "<td style='text-align:center;font-size:12px;'>".$row4['pname']."</td></tr>"; 
$counter17 = $counter17 + 1; 
} 
echo "</table>"; 
echo "<div style='text-align:left;'><input type='button' class='t_s' value='Add Paper' 
onclick='flagaddpapers(".$course.",".$semester."); return false' 
id='addpaperBtn'><input type='button' class='t_s' value='Cancel' onclick='closedialog(); 
return false'></div>"; 
+3

Можете ли вы показать код здесь ... – sAnS

+0

Здесь вы можете увидеть код. –

+1

'+ 1' Для использования _Vanilla_ JavaScript. – undefined

ответ

0

Попробуйте это .. здесь pval является paperid и lval является level value

<script type="text/javascript"> 
function merge_value(lval,pval) 
{ 
document.getElementById(pval).value=pval + '-' + lval; 
} 
</script> 

<?php 

echo "<tr> 
<th style='font-size:12px;'><input type='checkbox' id='master_check' 
onclick='masterSelect();' style='display:inline-block;cursor:pointer;'></th> 
<th style='font-size:12px;'>S.No</th> 
<th style='font-size:12px;'>Course</th> 
<th style='font-size:12px;'>Semester</th> 
<th style='font-size:12px;'>Level</th> 
<th style='font-size:12px;'>Paper</th></tr>"; 
$counter17 = 1; 
while($row4 = mysql_fetch_array($q4)) 
{ 
$pids = $row4['pid']; 
echo "<tr>"; 
echo "<td><input type='checkbox' name='pids[]' id='".$pids."' class='persistentChecks' 
style='display:inline-block;cursor:pointer;' value=".$pids."></td>"; 
echo "<td style='text-align:center;font-size:12px;'>".$counter17."</td>"; 
echo "<td style='text-align:center;font-size:12px;'>".$row4['cname']."</td>"; 
echo "<td style='text-align:center;font-size:12px;'>".$semester."</td>"; 
echo "<td style='font-size:12px;'><input type='radio' name='radio[]' id='radio1' 
value='1' onClick='javascript:merge_value(this.value,".$pids.")'>Expert</input><input id='radio2' type='radio' name='radio[]' 
value='2' onClick='javascript:merge_value(this.value,".$pids.")'>Normal</input></td>"; 
echo "<td style='text-align:center;font-size:12px;'>".$row4['pname']."</td></tr>"; 
$counter17 = $counter17 + 1; 
} 
echo "</table>"; 
echo "<div style='text-align:left;'><input type='button' class='t_s' value='Add Paper' 
onclick='flagaddpapers(".$course.",".$semester."); return false' 
id='addpaperBtn'><input type='button' class='t_s' value='Cancel' onclick='closedialog(); 
return false'></div>"; 

?> 
Смежные вопросы