我有一个包含多行的表,每行都有一个下拉列表。我是javascript的新手,无法从行中检索所选值。知道怎么办?提前谢谢。
代码:
function chng_page(serialNum, rowid)
{
alert(rowid);
alert(serialNum);
var select_index = document.getElementById('orderStatus').selectedIndex;
//get the value of selected option
var option_value = document.getElementById('orderStatus').options[select_index].value;
//redirect with value as a url parameter
window.location = 'orderStatus.php?serialNum=' + serialNum + '&status=' + option_value;
}
</script>
//代码下拉列表
<select id="orderStatus" name="orderStatus" onchange="chng_page(<?php echo $serialNum? >, this.parentNode.parentNode.rowIndex)">
<option value="Pending" <?php echo ($status == "Pending") ? ' selected="selected"' : ''; ?>>Pending</option>
<option value="Cooking" <?php echo ($status == "Cooking") ? ' selected="selected"' : ''; ?>>Cooking</option>
<option value="On The Way" <?php echo ($status == "On The Way") ? ' selected="selected"' : ''; ?>>On The Way</option>
<option value="Delivered" <?php echo ($status == "Delivered") ? ' selected="selected"' : ''; ?>>Delivered</option>
</select>
答案 0 :(得分:3)
您没有提到每行中的select元素是否具有唯一ID,但它在您的代码中以某种方式显示它们的作用。
在这种情况下,您可以使用JQuery(一种流行的JavaScript框架)来检索所选的值。
假设您已在HTML中包含JQuery文件,并将事件处理程序附加到select元素(为了使其更容易,将当前select元素的id作为函数中的参数传递),请执行以下操作:
var selected_value = $("#id_of_select_element option:selected").val();
如果select元素的id是唯一的,那么这一行代码肯定会有效。
答案 1 :(得分:0)
所有表格行中的下拉列表都具有相同的名称/ ID
答案 2 :(得分:0)
如果每行中的下拉列表具有相同的id-&gt; #orderStatus,你应该试试这个,
function chng_page(serialNum, ddlist)
{
var rowid = ddlist.parentNode.parentNode.rowIndex
alert(rowid);
alert(serialNum);
var select_index = ddlist.selectedIndex;
//get the value of selected option
var option_value = ddlist.options[select_index].value;
//redirect with value as a url parameter
window.location = 'orderStatus.php?serialNum=' + serialNum + '&status=' + option_value;
}
<select name="orderStatus" onchange="chng_page(<?php echo $serialNum?>, this)">
<option value="Pending" <?php echo ($status == "Pending") ? ' selected="selected"' : ''; ?>>Pending</option>
<option value="Cooking" <?php echo ($status == "Cooking") ? ' selected="selected"' : ''; ?>>Cooking</option>
<option value="On The Way" <?php echo ($status == "On The Way") ? ' selected="selected"' : ''; ?>>On The Way</option>
<option value="Delivered" <?php echo ($status == "Delivered") ? ' selected="selected"' : ''; ?>>Delivered</option>
</select>