如何通过更改选择来更改输入(文本框)中的值

时间:2011-09-10 11:23:52

标签: php javascript ajax wordpress

当我从select中选择其他选项时,我尝试更改输入中的值:

View image here.

我们的想法是,对于每个广告包,您可以拥有不同数量的图片(免费获取0张图片,4张图片购买20美元等)。有了这个数字,我就想显示图像的正确上传字段数量。

我已经从数据库中检索了每个包的图像数量,如下面的代码所示:

<select name="ad_pack_id" class="dropdownlist required">

<?php foreach ( $results as $result ) { ?>

<option value="<?php esc_attr_e($result->pack_id); ?>" class="<?php esc_attr_e($result->pack_images); ?>"><?php esc_attr_e($result->pack_name); ?></option>

<?php } ?>

</select>

<input type="hidden" value="" name="packimages" id="packimages" />

我尝试直接从选择中获取值:

mainform.ad_pack_id.options[selectedIndex].class.innerHTML

但这并不能获得图像数量。

如何在不先提交表单的情况下获取所选广告包的图片数量?

3 个答案:

答案 0 :(得分:2)

你也可以尝试jquery:

$("#ad_pack_id option:selected").val()

这应该会让你获得价值。显示/隐藏您可以使用的上传字段,例如CSS显示属性:

$("#uploadfield_1").css("display", "none")
$("#uploadfield_1").css("display", "block")

答案 1 :(得分:1)

试试这个:

document.mainform.ad_pack_id.options[Selected].className;

答案 2 :(得分:0)

此代码将输入值设置为所选选项的值。

我刚刚添加了“id”属性来选择菜单

<select id="ad_pack_id" name="ad_pack_id" class="dropdownlist required">

<?php foreach ( $results as $result ) { ?>

<option value="<?php esc_attr_e($result->pack_id); ?>" class="<?php esc_attr_e($result->pack_images); ?>"><?php esc_attr_e($result->pack_name); ?></option>
<?php } ?>

</select>

<input type="hidden" value="" name="packimages" id="packimages" />


<script type="text/javascript">
var selectmenu = document.getElementById("ad_pack_id");
selectmenu.onchange = function()
{ //run some code when "onchange" event fires
var chosenoption = this.options[this.selectedIndex] //this refers to "selectmenu"
if (chosenoption.value!="nothing")
    {
    document.getElementById("packimages").value = chosenoption.value ;
    }
}
</script>