如何从列表中返回2个值?

时间:2012-01-09 12:20:58

标签: php javascript

我有以下javascript函数:

// JavaScript Document

function showList() {
   sList = window.open("CLASS_LIST.PHP", "list", "width=421,height=600");
}
function remLink() {
   if (window.sList && window.sList.open && !window.sList.closed)
      window.sList.opener = null;
}

function pick(symbol) {
   if (window.opener && !window.opener.closed)
      window.opener.document.student.admission_class.value = symbol;
   window.close();
}

在表单标签中我调用了这个函数:

<input name="admission_class" type="text" />
<INPUT TYPE="button" VALUE="List" onClick="showList()">

它在一个新窗口中打开列表,并在选择时返回class_id,但我想返回同一个表中的class_name。

我要求在新窗口和选择中打开列表会将class_id和class_name返回到我的表单。

2 个答案:

答案 0 :(得分:1)

你可以像这样返回一个数组:

return Array('class_id', 'class_name');

答案 1 :(得分:0)

您的pick()函数似乎直接在父窗口中设置admission_class字段的值。据推测,这是您提到的class_id已被退回。如果你还要返回class_name,那么最简单的方法是在父屏幕上创建第二个输入字段并以相同的方式设置它:

<!-- add to your form: -->
<input name="admission_class_name" type="text" />

<script>
// update your pick function:
function pick(symbol, clickedanchor) {
   if (window.opener && !window.opener.closed) {
      window.opener.document.student.admission_class.value = symbol;
      window.opener.document.student.admission_class_name.value =
                                                       clickedanchor.innerHTML;
   }
   window.close();
}

</script>

在你的PHP中:

echo '<tr><td><a href="javascript:pick('.$get_row['class_id'].', this)">' .$get_row['class_name'].'</a></‌​td></tr>';

注意:整个设置有点令人讨厌,但是我上面展示的内容是做你要求的最小变化。