我试图在选择后从表单下拉框(命名集)中回显出所选值的值。目前,我没有运气。另外要注意我使用的是codeigniter,但我认为这将是问题所在。
<head>
<script type="text/javascript">
function set_boxes()
{
var TestVar = form.sets.value;
alert("TestVar");
}
</script>
</head>
<h1>New Entry</h1>
<?php
echo form_open('log/add_entry');
/*Weight Entry*/
echo form_label('Weight:', 'weight');
echo form_input('weight');
/*Weight Measurement*/
$measurementOptions = array('kg' => 'KG', 'lbs' => 'LBS');
echo form_dropdown('measurement', $measurementOptions, 'kg');
echo " - ";
/*Sets at Weight*/
echo form_label('Sets:', 'sets');
$setOptions = array('' => '', '1' => '1', '2' => '2', '3' => '3', '4' => '4', '5' => '5', '6' => '6', );
$js = 'onChange="set_boxes(this.form);"';
echo form_dropdown('sets', $setOptions, '', $js);
答案 0 :(得分:1)
一些可能性:
您的功能及其呼叫彼此不一致:
onChange="set_boxes(this.form)" // 1 argument
function set_boxes() // 0 arguments
我认为你想要的是:
function set_boxes(form)
这样,函数中的form
变量将等于预期的DOM对象:
var TestVar = form.sets.value;
另外,您的意思是提醒字符串"TestVar"
吗?如果要提醒变量的值,只需删除引号:
alert(TestVar);
所以,试一试:
function set_boxes(form)
{
var TestVar = form.sets.value;
alert(TestVar);
}
答案 1 :(得分:0)
对于选择框,您不能只使用.value
它有点复杂。这应该是你想要的:
var TestVar = form.sets.options[form.sets.selectedIndex].value;