0

好的,所以当谈到 jQuery 时,我是一个完全的菜鸟,但如果我能找到时间的话,这是我想在明年左右改变的东西!

我有以下下拉选项

<select id="shipping_method_id" name="shipping_method_id">
    <option value="6">North Island - New Zealand</option>
    <option value="7">South Island - New Zealand</option>
    <option value="8">Australia</option>
</select>

我想要的是当有人从列表中选择澳大利亚时,我希望它显示一个 div。

当有人从列表中选择一个选项时,页面会重新加载并更新运费。

这可能真的很简单,但我无法让它工作,我试过这个http://jsfiddle.net/JSyLV/910/但它不会工作:(

4

3 回答 3

1

您需要添加一个事件侦听器来调用此代码:

$("#shipping_method_id").change(function(){
   if($(this).val() == '8'){
       $("#hide_my_ass").slideDown();
   }    
});

http://jsfiddle.net/JSyLV/913/

于 2012-10-11T08:10:29.410 回答
0

您需要使用 jQuery .change 事件。

jQuery('#shipping_method_id').change(function(){           
    if(jQuery(this).val() === '8'  ){
        jQuery("#hide_my_ass").slideDown();
    }
});

http://jsfiddle.net/JSyLV/920/

编辑

jQuery('#shipping_method_id').change(function(){           
    window.location = window.location + '?postPrice=' + jQuery(this).val();
});​

然后在 PHP 中,您可以访问获取变量 $_GET['postPrice'] ,然后您可以将其作为价格输出。 http://jsfiddle.net/JSyLV/931/

于 2012-10-11T08:10:05.530 回答
0

试试这个

$('#shipping_method_id').change(function(){  //call the change function 
if($(this).val()==8){   //check if selected val is 8 (australia)
   $('#hide_my_ass').show();   //if yes show
}else{
   $('#hide_my_ass').hide();  //else hide
}
});​

http://jsfiddle.net/JSyLV/928/

于 2012-10-11T08:14:02.843 回答