当我从select中选择其他选项时,我尝试更改输入中的值:
我们的想法是,对于每个广告包,您可以拥有不同数量的图片(免费获取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
但这并不能获得图像数量。
如何在不先提交表单的情况下获取所选广告包的图片数量?
答案 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>