我根据从另一个属性字段中的选择隐藏属性字段时遇到问题。
由于缺乏这样做更容易,我想在我的页脚块中添加 jQuery 代码。
我会尽量解释目前的情况。
我有一个当前正在生成的选择字段,如下所示:
<select id="edit-attributes-4" class="form-select ajax-processed" name="attributes[4]">
<option selected="selected" value="12">
Verzenden, €15.44
</option><option value="13">
Ophalen, €8.03
</option></select>
和这个:
<select id="edit-attributes-5" class="form-select ajax-processed" name="attributes[5]">
<option selected="selected" value="14">
1 Fles, €15.44
</option><option value="15">
1 Doos, €92.64
</option></select>
我希望在页面加载时隐藏字段 edit-attribute-4,因此我将其添加到 CSS 代码中,该代码也在同一个页脚块中:
#edit-attributes-4 {
display:none;
clear: both;
}
很明显,两者都是谷歌关于滑动不起作用的一些发现的建议,我不确定它的作用,但无论如何它没有任何区别,至少隐藏在页面加载时确实有效。
这一点是也位于页脚块中的 jQuery 代码:
$(document).ready(function(){
$("#edit-attributes-5").change(function(){
if ($(#edit-attributes-5).val() == "15" ) {
$("#edit-attributes-4").slideDown("fast")
} else {
$("#edit-attributes-4").slideUp("fast")
}
});
});
基本上会发生什么,并且工作得很好,就是每当属性字段 5 更改为值 15,即购买 1 打而不是 1 个单一产品时,它显示属性字段 4 能够选择值 13,从而为取货而不是运送给客户。
这一切都像它应该的那样工作,每当我在字段 5 中选择值 15 时,字段 4 就会弹出,我可以在其中选择任何内容,但是,当我在字段 5 中选择值 14 时,字段 4 不会重新隐藏。
基本上我想要实现的是拥有 2 个用于发送或运输的克隆字段,其中 1 个具有折扣以选择一打而不是单个产品。这是为了防止人们订购 1 件单品,同时将表格 4 设为 13 并获得相同的折扣,就好像他们选择来商店自己买一打而不是将其运送给他们一样,这就是折扣是所有关于。我希望这有任何意义。
任何人都可以阐明为什么这不能正常工作吗?为什么它不再躲藏起来?我在这里错过了什么吗?我不是很喜欢 jQuery,所以它可能只是很明显的东西。如果有更简单的选择,那么我愿意接受建议。
更新: http: //jsfiddle.net/zhmSS/fiddle 似乎很有魅力。但是在我的产品页面上它一直失败,即使
if ($(#edit-attributes-5).val() == "15" ) {
改为:
if ($(this).val() == "15" ) {
一定有什么东西破坏了它?我曾尝试在 Drupal 上使用 jQuery update 并选择 jQuery v1.5、v1.7 和 v1.8,但它们都没有任何区别。
有问题的页面:http: //italvin.arclyse.net/ ?q=producten&w=Rode%20Wijn&s=All&wh=All&d=All