-3

smarty テンプレートでは、2 つのラジオ ボタンのいずれかがクリックされたときに関数を呼び出す必要があります。これは私が持っているものですが、機能しません。関数自体のコードが期待どおりに機能することはわかっていますが、関数を呼び出すことはできません。

{literal}
    <script type="text/javascript">
        $(function(){
            var shippingnotreqcheck = $("#shipping_notrequired");
            var shippingnotreqcheck2 = $("#shipping_notrequired2");

            shippingnotreqcheck.bind('click',
                $shippingisnotrequired);

            shippingnotreqcheck2.bind('click',
                $shippingisnotrequired);

            shippingisnotrequired = function() 
            {           
                    var billingcheck = 'checked';
                    $("#{/literal}{$Form->GetFieldInputName('shipping_matches_billing')}{literal}").attr('checked', 'checked');
                    $("#{/literal}{$Form->GetFieldInputName('shipping_matches_billing')}{literal}").addClass('disabled');
                    $("#{/literal}{$Form->GetFieldInputName('shipping_matches_billing')}{literal}").attr('disabled', 'disabled');
            }       
        });
    </script>
{/literal}  
4

1 に答える 1

0

$.shippingisnotrequired参照しませんjQuery.fn.shippingisnotrequired


反対することをお勧めしますが、jQuery 名前空間で関数を宣言する場合は、次のようにします。

jQuery.shippingisnotrequired = function() 
{
    // The code here...
};

ただし、これが jQuery 名前空間にある理由はありません。スタンドアロン関数を使用するだけです:

shippingnotreqcheck.bind('click', shippingisnotrequired);
shippingnotreqcheck2.bind('click', shippingisnotrequired);

function shippingisnotrequired () 
{
    // Code goes here...
}
于 2012-09-02T23:33:30.547 に答える