1<!DOCTYPE html> 2<html lang="zh-Hans"> 3 4<head moznomarginboxes mozdisallowselectionprint> 5<meta charset="utf-8" /> 6<meta http-equiv="X-UA-Compatible" content="IE=edge"> 7<meta name="viewport" content="width=device-width, initial-scale=1"> 8<link rel="preconnect" href="https://scss.npcdn.net"> 9<link rel="preconnect" href="https://scss.npcdn.net" crossorigin> 10<link rel="preconnect" href="https://cdn1.npcdn.net"> 11 12<title>è´ç©è½¦ - Sia Traditional Chinese Medicine</title> 13<meta name="title" content="è´ç©è½¦ - Sia Traditional Chinese Medicine" /> 14<meta name="description" content="å¨ Sia Traditional Chinese Medicine å¡«å订å详æ å¹¶ç»å¸è´ç©è½¦ä¸çææåå, 夿¥, æä½, æ°å±±, èå¥¥æ¯æ±, 马æ¥è¥¿äº, 马èµ" /> 15<meta property="og:title" content="è´ç©è½¦ - Sia Traditional Chinese Medicine"/> 16<meta property="og:site_name" content="Sia Traditional Chinese Medicine"/> 17<meta property="og:type" content="website"/> 18<meta property="og:description" content="å¨ Sia Traditional Chinese Medicine å¡«å订å详æ å¹¶ç»å¸è´ç©è½¦ä¸çææåå, 夿¥, æä½, æ°å±±, èå¥¥æ¯æ±, 马æ¥è¥¿äº, 马èµ"/> 19<meta property="og:url" content="https://www.siatcm.com.my/checkout/"/> 20<meta property="og:ttl" content="2419200"> 21<meta property="og:image" content="https://www.newpages.com.my/customer/images/1750316608fc7445c419ff826ee202afb5c12bded0.jpg"/> 22 23 24 25 26<meta name="theme-color" content="#224c3c"> 27<meta name="google" content="notranslate"> 28<meta name="google-site-verification" content="FhZdYuOEFTjZgqyGsSqA1DO78vMCHj83kphVRaAnQYI"/> 29 30 31<link rel="stylesheet" type="text/css" href="https://scss.npcdn.net/ex_cusscss/platinum_bootstrap.css?ref=19&v=1.6" > 32 33<link rel="stylesheet" type="text/css" href="/ex_js/lib/js/slick-1.8.1/slick/slick-theme.css?ref=5&v=1.6"> 34<link rel="stylesheet" type="text/css" href="/ex_js/lib/js/slick-1.8.1/slick/slick.css?ref=5&v=1.6"> 35 36<link rel="stylesheet" href="https://scss.npcdn.net/ex_cusscss/alertify.min.css?ref=4&v=1.6"> 37 38<link rel="stylesheet" href="https://scss.npcdn.net/ex_cusscss/np3_siatraditional/35749/ex_generalstyle.css?v=1759282104"> 39 40<link rel="stylesheet" href="https://scss.npcdn.net/ex_cusscss/np3_siatraditional/35749/ex_style.css?v=1759282104"> 41 42<link rel="stylesheet" href="https://scss.npcdn.net/ex_cusscss/ex_custom.css?ref=93&v=1.6"> 43 44<link rel="stylesheet" href="https://scss.npcdn.net/ex_cusscss/np_jquery.fancybox.min.css?ref=3&v=1.6"> 45 46<link rel="stylesheet" href="https://scss.npcdn.net/ex_cusscss/designer.css?id=6060d322713797e84f598ea25c812cab&lm=1736922673&did=35749"> 47 48<link rel="stylesheet" href="https://scss.npcdn.net/ex_cusscss/np_fontawesome/css/all.min.css?v=1.6"> 49 50<link rel="stylesheet" href="https://scss.npcdn.net/ex_cusscss/np_aos.css?v=1.6"> 51 52 53<link rel="manifest" href="/ex_manifest.json?v=1759282104"> 54<link rel="icon" href="https://cdn1.npcdn.net/images/1603763006ads-logo.png" type="image/png"> 55<link rel="apple-touch-icon" href="https://cdn1.npcdn.net/images/1603763006ads-logo.png"> 56 57
58<script src="https://scss.npcdn.net/ex_cusscss/np_onesyncjquery_371.min.js?ref=1&v=1.6"></script>
58 59
60<script src="https://scss.npcdn.net/ex_cusscss/np_slick.js?ref=1&v=1.6"></script>
60 61
62<script src="https://scss.npcdn.net/ex_cusscss/matchHeight.js?v=1.6"></script>
62 63
64<script defer src="https://scss.npcdn.net/ex_cusscss/np_popper.min.js?ref=1&v=1.6"></script>
64 65
66<script defer src="https://scss.npcdn.net/ex_cusscss/np_jquery.fancybox.min.js?ref=4&v=1.6"></script>
66 67
68<script defer src="https://scss.npcdn.net/ex_cusscss/np_bootstrap.min.js?ref=1&v=1.6"></script>
68 69 70 71<!-- Scroll Effect Aos -->
72<script defer src="/ex_js/alertify.min.js?v=1.6"></script>
vendor: 1 bytes, line 72
72
73<script defer src="/ex_js/defaultAlert.js?ref=24&v=1.6"></script>
73 74
75<script defer src="https://scss.npcdn.net/ex_cusscss/np_aos.js?v=1.6" ></script>
75 76<link rel="stylesheet" type="text/css" href="https://scss.npcdn.net/ex_cusscss/np_animate.min.css?v=1.6" > 77
78<script defer src="https://cdn1.npcdn.net/scripts/janimate.js?v=1.6" ></script>
78 79<link rel="stylesheet" type="text/css" href="https://cdn1.npcdn.net/scripts/janimate.css?v=1.6" /> 80<!-- for alert use only !--> 81
82<script async src="/ex_js/formSearch.js?v=1.6"></script>
82 83<!--
83<script defer src="/ex_js/np_smartAnalytic.js?ref=2&v=1.6"></script>
83 --> 84
85<script src="/ex_js/cart.js?ref=1&v=1.6"></script>
85 86
87<script async src="/ex_js/ex_photoswipe-4.1.3/photoswipe.min.js?v=1.6"></script>
vendor: 1 bytes, line 87
87
88<script async src="/ex_js/ex_photoswipe-4.1.3/photoswipe-ui-default.min.js?v=1.6"></script>
88 89
90<script defer src="https://scss.npcdn.net/ex_cusscss/np_jquerycookies.min.js?ref=2&v=1.6" ></script>
vendor: 1 bytes, line 90
90
91<script type="text/javascript"> 92 if ('serviceWorker' in navigator) { 93 window.addEventListener('load', function() { 94 // ð¹ Register service worker with versioning to force refresh 95 navigator.serviceWorker.register('/pwabuilder-sw.js?v=2025-11-06-02', { 96 updateViaCache: 'none' 97 }) 98 .then(function(registration) { 99 console.log('â Service Worker registered', registration); 100 101 // ---------------------------------------- 102 // ð Request permission and subscribe for push 103 // ---------------------------------------- 104 105 106 }) 107 .catch(function(err) { 108 console.error('â Service Worker registration failed', err); 109 }); 110 }); 111 112 // ð Auto reload page when new SW activates (only for updates, not first install) 113 let wasControlled = navigator.serviceWorker.controller !== null; 114 navigator.serviceWorker.addEventListener('controllerchange', () => { 115 if (wasControlled) { 116 // This is an update - reload to get new content 117 console.log('â¡ New Service Worker activated â reloading page'); 118 window.location.reload(); 119 } else { 120 // First-time install - no reload needed 121 console.log('â Service Worker installed for the first time'); 122 wasControlled = true; 123 } 124 }); 125 } 126 127 128 129</script>
129 130<!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 65 bytes, lines 130-131
130 131<script async src="https://www.googletagmanager.com/gtag/js?id=
131G-G8TE9C9KNW
vendor: 13 bytes, line 131
131"></script>
132<script> 133
vendor: 138 bytes, lines 133-137
133window.dataLayer = window.dataLayer || []; 134 function gtag(){dataLayer.push(arguments);} 135 gtag('js', new Date()); 136 137 gtag('config', '
137G-G8TE9C9KNW
vendor: 5 bytes, line 137
137');
138</script>
138 139 140 141 142<!-- Global site tag (gtag.js) - Google Analytics in Company Domain --> 143 144 145 146</head> 147<body> 148 149 150
150<script> 151 !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,document,'script','https://connect.facebook.net/en_US/fbevents.js'); 152 153 fbq('init', '1'); 154 155 fbq('track', 'PageView'); 156 157 </script>
157 158 159 <noscript><img height="1" width="1" src="https://www.facebook.com/tr?id=1&ev=PageView&noscript=1"/> 160</noscript> 161 162 163 164 165 166 167
167<script> 168 var cartTotal = JSON.parse(localStorage.getItem('cartTotal')); 169 $(document).ready(function() { 170 if (cartTotal != null&&false) { 171 updateNoti(cartTotal.totalItem) 172 } else { 173 getLocalCart(); 174 } 175 }); 176 177 function updateNoti(data) { 178 let floatBtnBadge = $('.toggle_btn .badge'); 179 let cartBtnBadge = $('.floating_menu').find('.badge'); 180 let navBtnBadge = $('.shopping').find('.badge'); 181 let x = data; 182 if (x == "99+" || x > 0) { 183 // Change Notification Number 184 if(floatBtnBadge.length !== 0){ 185 floatBtnBadge.css('display', 'inline-block'); 186 cartBtnBadge.css('display', 'inline-block'); 187 floatBtnBadge[0].innerHTML = x; 188 cartBtnBadge[0].innerHTML = x; 189 } 190 if(navBtnBadge[0] !== "undefined"){ 191 navBtnBadge.css('display', 'inline-block'); 192 navBtnBadge.html(x); 193 } 194 } else { 195 if(floatBtnBadge.length !== 0){ 196 floatBtnBadge.css('display', 'none'); 197 cartBtnBadge.css('display', 'none'); 198 } 199 if(navBtnBadge[0] !== "undefined"){ 200 navBtnBadge.css('display', 'none'); 201 } 202 } 203 } 204 $('.mainFunction .add_to_cart').on('click', function() { 205 // // Animation Effect 206 $('.floating_btn .toggle_btn').addClass('heartBeat'); 207 setTimeout(() => { 208 $('.floating_btn .toggle_btn').removeClass('heartBeat'); 209 }, 600); 210 }) 211 </script>
211 212 213 214<div id="full_screen_loading" class="hide"> 215 <div class="full_screen_loading_container"> 216 <div class="loading_first"></div> 217 <div class="loading_second"></div> 218 <div class="loading_third"></div> 219 <div class="loading_fourth"></div> 220 </div> 221</div> 222<style> 223 #full_screen_loading { 224 width:100%; 225 z-index: 1200; 226 position:fixed; 227 margin: 0; 228 display: flex; 229 justify-content: center; 230 align-items: center; 231 height: 100%; 232 background: rgba(0, 0, 0, .48); 233 } 234 235 #full_screen_loading.hide{ 236 display: none; 237 } 238 239 div.full_screen_loading_container { 240 display: flex; 241 justify-content: center; 242 align-items: center; 243 } 244 div.full_screen_loading_container > div { 245 width: .8vw; 246 height: .8vw; 247 border-radius: 100%; 248 margin: 2vw; 249 background-image: linear-gradient(145deg, rgba(255,255,255,0.5) 0%, rgba(0,0,0,0) 100%); 250 animation: bounce 1.5s 0.5s linear infinite; 251 } 252 .loading_first,.loading_second,.loading_third,.loading_fourth { 253 background-color: white; 254 } 255 256 .loading_second { 257 animation-delay: 0.1s!important; 258 } 259 260 .loading_third { 261 animation-delay: 0.2s!important; 262 } 263 264 .loading_fourth { 265 animation-delay: 0.3s!important; 266 } 267 268 @keyframes bounce { 269 0%, 50%, 100% { 270 transform: scale(1); 271 filter: blur(0px); 272 } 273 25% { 274 transform: scale(0.6); 275 filter: blur(3px); 276 } 277 75% { 278 filter: blur(3px); 279 transform: scale(1.4); 280 } 281 } 282} 283</style> 284 285 286<div class="top_msg" style="display:none"> 287 <div class="col-12 text-center d-flex flex-wrap justify-content-center py-2"> 288 <span class="col d-none d-md-block"></span> 289 <p class="mb-3 mb-lg-0 align-self-center col-12 col-lg">ä¾ ä¸å» SIA TRADITIONAL CHINESE MEDICINE</p> 290 291 <span class="col d-none d-md-block"></span> 292 <div class="close_top_msg"><i class="fas fa-times-circle"></i></div> 293 </div> 294</div> 295<style> 296 .top_msg{ 297 position: fixed; 298 bottom: 0; 299 left: 0; 300 width: 100%; 301 z-index: 1040; 302 background-color: rgba(0,0,0,0.7); 303 color: white; 304 } 305 .close_top_msg{ 306 position: absolute; 307 top: 25%; 308 right: 0; 309 transform: translate(-50%,0%); 310 margin-right: 10px; 311 cursor: pointer; 312 } 313 .close_top_msg i{ 314 font-size: 20px; 315 } 316</style>
317<script> 318 $(document).ready(function(){ 319 if (Cookies.get('top_msg') != 'checked') { 320 $('.top_msg').show() 321 } 322 }); 323 $('.close_top_msg').on('click',function(){ 324 Cookies.set('top_msg', 'checked', { expires:1}) 325 $('.top_msg').hide(); 326 }); 327</script>
327 328 329 330 331<div class="d-none d-lg-block editor"> 332 333</div> 334<div class="navbar_type8 navbar_height"> 335 <a class="logo" href="/"> 336 <img src="https://cdn1.npcdn.net/images/np_22270_1604217020.png" alt="Sia Traditional Chinese Medicine" title="Sia Traditional Chinese Medicine"> 337 </a> 338 <div class="nav_tab"> 339 340 <div class="dropdown nav_item"> 341 <a class="" href="/" title="主页" >主页</a> 342 343 344 </div> 345 346 <div class="dropdown nav_item"> 347 <a class="" href="/pages/pages_id/16458/" title="å ³äºæä»¬" >å ³äºæä»¬</a> 348 349 350 </div> 351 352 <div class="dropdown nav_item"> 353 <a class="" href="/pages/pages_id/21923/" title="æä»¬çå¢é" >æä»¬çå¢é</a> 354 355 356 </div> 357 358 <div class="dropdown nav_item"> 359 <a class="" href="/services/" title="æä»¬çæå¡" >æä»¬çæå¡</a> 360 361 362 </div> 363 364 <div class="dropdown nav_item"> 365 <a class="dropdown-toggle" href="javascript:void(0)" title="产å" >产å</a> 366 367 368 <div class="dropdown-menu dropdown-menu-center dropdown-menu-img"> 369 <div class="dropdown-item container"> 370 <div class="dropdown_pannel p-3"> 371 372 <a href="/category/cid/329684/"> 373 <div class="dropdown_item"> 374 <div class="img_frame"> 375 <img src="https://cdn1.npcdn.net/images/16117398995e578fe34670508423ca2d0d2852ba30.webp?md5id=6060d322713797e84f598ea25c812cab&new_width=1000&new_height=1000&size=max&w=1722044089&from=jpg&type=9" alt="" title=""> 376 </div> 377 <div class="text">è¯æ</div> 378 </div> 379 </a> 380 381 <a href="/ourproducts/cid/429420/"> 382 <div class="dropdown_item"> 383 <div class="img_frame"> 384 <img src="https://cdn1.npcdn.net/images/16612425510106aa5630ee2978a6c4f6a333d46269.webp?md5id=6060d322713797e84f598ea25c812cab&new_width=1000&new_height=1000&size=max&w=1722044089&from=jpg&type=9" alt="" title=""> 385 </div> 386 <div class="text">䏿¨æ</div> 387 </div> 388 </a> 389 390 <a href="/ourproducts/cid/332132/"> 391 <div class="dropdown_item"> 392 <div class="img_frame"> 393 <img src="https://cdn1.npcdn.net/images/1610517586af817b23e7c5aa9661e69f958cb23723.webp?md5id=6060d322713797e84f598ea25c812cab&new_width=1000&new_height=1000&size=max&w=1722044089&from=jpg&type=9" alt="" title=""> 394 </div> 395 <div class="text">æ²»çé å¥(ä¹°6é1ï¼</div> 396 </div> 397 </a> 398 399 </div> 400 </div> 401 </div> 402 403 </div> 404 405 <div class="dropdown nav_item"> 406 <a class="" href="/photoalbum/" title="ç¸å" >ç¸å</a> 407 408 409 </div> 410 411 <div class="dropdown nav_item"> 412 <a class="dropdown-toggle" href="javascript:void(0)" title="æ¡æ¬¾" >æ¡æ¬¾</a> 413 414 <div class="dropdown-menu dropdown-menu-center"> 415 <div class="dropdown-item"> 416 <span class="pt-1"></span> 417 418 <a class="pb-1" href="/pages/pages_id/17355/" >确认éç¥ä¹¦</a> 419 420 <a class="pb-1" href="/pages/pages_id/17356/" >鿬¾æ¡æ¬¾</a> 421 422 <a class="pb-1" href="/pages/pages_id/17353/" >éç§æ¡æ¬¾</a> 423 424 <a class="pb-1" href="/pages/pages_id/17352/" >è¿è¾æ¡æ¬¾</a> 425 426 </div> 427 </div> 428 429 430 </div> 431 432 <div class="dropdown nav_item"> 433 <a class="" href="/latestnews/" title="ææ°æ¶æ¯ä¸ä¿é" >ææ°æ¶æ¯ä¸ä¿é</a> 434 435 436 </div> 437 438 <div class="dropdown nav_item"> 439 <a class="" href="/rating/" title="è¯ä»·" >è¯ä»·</a> 440 441 442 </div> 443 444 <div class="dropdown nav_item"> 445 <a class="" href="/videosbycat/" title="å¥åº·å®£æ" >å¥åº·å®£æ</a> 446 447 448 </div> 449 450 <div class="dropdown nav_item"> 451 <a class="" href="/contactus/" title="èç»æä»¬" >èç»æä»¬</a> 452 453 454 </div> 455 456 457 <div class="dropdown nav_item login"> 458 <a href="/login/" title="" style="display:inline-flex;"> 459 <p class="login mr-2" style="max-width: 150px; overflow: hidden; text-overflow: ellipsis;"> 460 461 <!-- if not login just empty --> 462 </p><i class="fas fa-user active my-auto"></i> 463 <!-- if login return dropdown-toggle --> 464 </a> 465 466 <div class="dropdown-menu dropdown-menu-center"> 467 468 <div class="dropdown-item">
469 <span class="pt-1"></span> 470 <a class="pb-1" href="/login/">ç»å ¥</a> 471 </div> 472 473 <div class="dropdown-item"> 474 <span class="pt-1"></span> 475 <a class="pb-1" href="/signup/">注å</a> 476 </div> 477 478 <!-- etc:logout,view member coupon, view profile, change personal.... --> 479 </div> 480 481 </div> 482 483 484 <div class="dropdown nav_item shopping"> 485 <a href="/checkout/" title="è´ç©è½¦" style="display:inline-flex;"> 486 <i class="fas fa-shopping-cart"></i> 487 <span class="badge" style="display:none;">0</span> 488 </a> 489 </div> 490 491 </div> 492</div> 493 494 495 496
497<script> 498 window.onscroll = function() { 499 checkNavbar() 500 }; 501 window.onresize = function() { 502 checkNavbar() 503 } 504 $(document).ready(function(){ 505 checkNavbar(); 506 }) 507 508 function checkNavbar() { 509 if (window.pageYOffset > 10) { 510 $('.navbar_type8').addClass("dark_nav"); 511 $('.navbar_type8 .nav_tab .dropdown .dropdown-menu-img').removeAttr('style'); 512 } else { 513 let topMsg = 0; 514 if($(".top_msg").css("position") == 'relative' && $(".top_msg").css("display") !== 'none'){ 515 topMsg = $('.top_msg').outerHeight(); 516 } 517 let editorHeight = $('.editor').outerHeight() + 45 + topMsg; 518 let top = "top:" + editorHeight + "px"; 519 $('.navbar_type8').removeClass("dark_nav"); 520 $('.navbar_type8 .nav_tab .dropdown .dropdown-menu-img').attr('style', top); 521 } 522 } 523</script>
523 524<!--
524<script> 525 $(document).ready(function() { 526 viewportwidth = $(window).width(); 527 if (viewportwidth > 992) { 528 var x = $('.navbar_type8').outerHeight(); 529 $('#top_spacing').css('height', x); 530 } 531 window.addEventListener('resize', function(event){ 532 viewportwidth = $(window).width(); 533 if (viewportwidth > 992) { 534 var x = $('.navbar_type8').outerHeight(); 535 $('#top_spacing').css('height', x); 536 } 537 }); 538 // window.onresize = function(event) { 539 540 // //} 541 // } 542 }) 543</script>
543 --> 544 545<!-- SUBSUBMENU 546<div class="dropdown-menu dropdown-menu-right"> 547 <div class="dropdown-item"> 548 <span class="pt-1"></span> 549 <a class="text-center pb-1" href="#">About</a> 550 <a class="text-center pb-1" href="#contact">123</a> 551 <a class="text-center pb-1" href="#contact">Contact</a> 552 <div class="sub-dropdown text-center dropdown-toggle"> 553 <a class="text-center pb-1 dropdown-toggle" href="#contact">More</a> 554 <div class="sub-dropdown-menu dropdown-menu"> 555 <div class="dropdown-item"> 556 <a class="text-center pb-1" href="#contact">More</a> 557 <a class="text-center pb-1" href="#">About</a> 558 <a class="text-center pb-1" href="#contact">123</a> 559 <a class="text-center pb-1" href="#contact">Contact</a> 560 </div> 561 </div> 562 </div> 563 <a class="text-center pb-1" href="#contact">Contact</a> 564 </div> 565 </div> --><div id="top_spacing"></div> 566<div class="navbar_mobile show fixed-top"> 567 <div class="row_1 w-100 pt-3"> 568 <div class="col pl-4" style="display: flex;"> 569 <div class="btn btn-outline-light float-left" style="border-radius:19px;align-self: center;" onclick="show_sideMenu()"> 570 <i class="fas fa-bars"></i> 571 </div> 572 </div> 573 <a class="col text-center" href="/"> 574 <img loading="lazy" decoding="async" class="logo_img" src="https://cdn1.npcdn.net/images/np_22270_1604217020.png" alt="Sia Traditional Chinese Medicine" title="Sia Traditional Chinese Medicine"> 575 </a> 576 <div class="col"></div> 577 </div> 578</div> 579 580<div class="side_menu target"> 581 <div class="mt-3 mx-3 pt-5"> 582 <div style="position:relative;"> 583 <form onsubmit="return formSearch(this.querySelector('#search_name').value)"> 584 <input type="text" name="search_name" id="search_name" class="search" placeholder="æç´¢äº§å"> 585 <button class="fa fa-search btn border-0 text-white" type="submit" style="position: absolute; 586 right: 4px; 587 top: 50%; 588 transform: translate(0,-50%);"></button> 589 </form> 590 </div> 591 </div> 592 593 <div class="m_default_login_quotation my-3"> 594 595 <div class="m_default_member text-nowrap"><a href="/member/"><i class="far fa-user" aria-hidden="true"></i> è´¦å·</a></div> 596 <div>|</div> 597 598 <div class="m_default_member text-nowrap"><a href="/checkout/"><i class="fas fas fa-shopping-cart" aria-hidden="true"></i> è´ç©è½¦</a></div> 599 </div> 600 601 602 <div class="list-unstyled list-group mt-3"> 603 604 <div class="list-group-item"> 605 <a href="/" title="主页" data-target="#"> 606 <!-- DATA_TOGGLE return data-toggle="collapse"--> 607 <!-- DATA_TOGGLE_CALSS return "dropdown-toggle" --> 608 <div class=""> 609 主页 610 </div> 611 </a> 612 613 </div> 614 615 <div class="list-group-item"> 616 <a href="/pages/pages_id/16458/" title="å ³äºæä»¬" data-target="#"> 617 <!-- DATA_TOGGLE return data-toggle="collapse"--> 618 <!-- DATA_TOGGLE_CALSS return "dropdown-toggle" --> 619 <div class=""> 620 å ³äºæä»¬ 621 </div> 622 </a> 623 624 </div> 625 626 <div class="list-group-item"> 627 <a href="/pages/pages_id/21923/" title="æä»¬çå¢é" data-target="#"> 628 <!-- DATA_TOGGLE return data-toggle="collapse"--> 629 <!-- DATA_TOGGLE_CALSS return "dropdown-toggle" --> 630 <div class=""> 631 æä»¬çå¢é 632 </div> 633 </a> 634 635 </div> 636 637 <div class="list-group-item"> 638 <a href="/services/" title="æä»¬çæå¡" data-target="#"> 639 <!-- DATA_TOGGLE return data-toggle="collapse"--> 640 <!-- DATA_TOGGLE_CALSS return "dropdown-toggle" --> 641 <div class=""> 642 æä»¬çæå¡ 643 </div> 644 </a> 645 646 </div> 647 648 <div class="list-group-item"> 649 <a href="javascript:void(0)" title="产å" data-toggle="collapse" data-target="#m_menuitem_special5"> 650 <!-- DATA_TOGGLE return data-toggle="collapse"--> 651 <!-- DATA_TOGGLE_CALSS return "dropdown-toggle" --> 652 <div class="dropdown-toggle"> 653 产å 654 </div> 655 </a> 656 657 <div id="m_menuitem_special5" class="collapse ml-3" style="width:100%;"> 658 659 <div class="dropdown-submenu list-unstyled"> 660 661 662 <li> 663 <a href="/category/cid/329684/" class="main_title collapsed " data-target="#three_navItem" aria-expanded="true" title="è¯æ"> 664 è¯æ 665 </a>
666 <div class="m_3rd_submenu collapse " id="three_navItem"> 667 <ul class="list-unstyled"> 668 669 <li class="sub3_menu_item"> 670 <a class="" href="" title=""> 671 672 </a> 673 </li> 674 675 </ul> 676 </div> 677 678 </li> 679 680 681 682 <li> 683 <a href="/ourproducts/cid/429420/" class="main_title collapsed " data-target="#three_navItem" aria-expanded="true" title="䏿¨æ"> 684 䏿¨æ 685 </a> 686 <div class="m_3rd_submenu collapse " id="three_navItem"> 687 <ul class="list-unstyled"> 688 689 <li class="sub3_menu_item"> 690 <a class="" href="" title=""> 691 692 </a> 693 </li> 694 695 </ul> 696 </div> 697 698 </li> 699 700 701 702 <li> 703 <a href="/ourproducts/cid/332132/" class="main_title collapsed " data-target="#three_navItem" aria-expanded="true" title="æ²»çé å¥(ä¹°6é1ï¼"> 704 æ²»çé å¥(ä¹°6é1ï¼ 705 </a> 706 <div class="m_3rd_submenu collapse " id="three_navItem"> 707 <ul class="list-unstyled"> 708 709 <li class="sub3_menu_item"> 710 <a class="" href="" title=""> 711 712 </a> 713 </li> 714 715 </ul> 716 </div> 717 718 </li> 719 720 721 722 </div> 723 724 </div> 725 726 </div> 727 728 <div class="list-group-item"> 729 <a href="/photoalbum/" title="ç¸å" data-target="#"> 730 <!-- DATA_TOGGLE return data-toggle="collapse"--> 731 <!-- DATA_TOGGLE_CALSS return "dropdown-toggle" --> 732 <div class=""> 733 ç¸å 734 </div> 735 </a> 736 737 </div> 738 739 <div class="list-group-item"> 740 <a href="" title="æ¡æ¬¾" data-toggle="collapse" data-target="#m_menuitem_1"> 741 <!-- DATA_TOGGLE return data-toggle="collapse"--> 742 <!-- DATA_TOGGLE_CALSS return "dropdown-toggle" --> 743 <div class="dropdown-toggle"> 744 æ¡æ¬¾ 745 </div> 746 </a> 747 748 <div id="m_menuitem_1" class="collapse ml-3" style="width:100%;"> 749 750 <div class="dropdown-submenu list-unstyled"> 751 752 753 <li> 754 <a href="/pages/pages_id/17355/" class="main_title collapsed " data-target="#three_navItem" aria-expanded="true" title="确认éç¥ä¹¦"> 755 确认éç¥ä¹¦ 756 </a> 757 <div class="m_3rd_submenu collapse " id="three_navItem"> 758 <ul class="list-unstyled"> 759 760 <li class="sub3_menu_item"> 761 <a class="" href="" title=""> 762 763 </a> 764 </li> 765 766 </ul> 767 </div> 768 769 </li> 770 771 772 773 <li> 774 <a href="/pages/pages_id/17356/" class="main_title collapsed " data-target="#three_navItem" aria-expanded="true" title="鿬¾æ¡æ¬¾"> 775 鿬¾æ¡æ¬¾ 776 </a>
777 <div class="m_3rd_submenu collapse " id="three_navItem"> 778 <ul class="list-unstyled"> 779 780 <li class="sub3_menu_item"> 781 <a class="" href="" title=""> 782 783 </a> 784 </li> 785 786 </ul> 787 </div> 788 789 </li> 790 791 792 793 <li> 794 <a href="/pages/pages_id/17353/" class="main_title collapsed " data-target="#three_navItem" aria-expanded="true" title="éç§æ¡æ¬¾"> 795 éç§æ¡æ¬¾ 796 </a> 797 <div class="m_3rd_submenu collapse " id="three_navItem"> 798 <ul class="list-unstyled"> 799 800 <li class="sub3_menu_item"> 801 <a class="" href="" title=""> 802 803 </a> 804 </li> 805 806 </ul> 807 </div> 808 809 </li> 810 811 812 813 <li> 814 <a href="/pages/pages_id/17352/" class="main_title collapsed " data-target="#three_navItem" aria-expanded="true" title="è¿è¾æ¡æ¬¾"> 815 è¿è¾æ¡æ¬¾ 816 </a> 817 <div class="m_3rd_submenu collapse " id="three_navItem"> 818 <ul class="list-unstyled"> 819 820 <li class="sub3_menu_item"> 821 <a class="" href="" title=""> 822 823 </a> 824 </li> 825 826 </ul> 827 </div> 828 829 </li> 830 831 832 833 </div> 834 835 </div> 836 837 </div> 838 839 <div class="list-group-item"> 840 <a href="/latestnews/" title="ææ°æ¶æ¯ä¸ä¿é" data-target="#"> 841 <!-- DATA_TOGGLE return data-toggle="collapse"--> 842 <!-- DATA_TOGGLE_CALSS return "dropdown-toggle" --> 843 <div class=""> 844 ææ°æ¶æ¯ä¸ä¿é 845 </div> 846 </a> 847 848 </div> 849 850 <div class="list-group-item"> 851 <a href="/rating/" title="è¯ä»·" data-target="#"> 852 <!-- DATA_TOGGLE return data-toggle="collapse"--> 853 <!-- DATA_TOGGLE_CALSS return "dropdown-toggle" --> 854 <div class=""> 855 è¯ä»· 856 </div> 857 </a> 858 859 </div> 860 861 <div class="list-group-item"> 862 <a href="/videosbycat/" title="å¥åº·å®£æ" data-target="#"> 863 <!-- DATA_TOGGLE return data-toggle="collapse"--> 864 <!-- DATA_TOGGLE_CALSS return "dropdown-toggle" --> 865 <div class=""> 866 å¥åº·å®£æ 867 </div> 868 </a> 869 870 </div> 871 872 <div class="list-group-item"> 873 <a href="/contactus/" title="èç»æä»¬" data-target="#"> 874 <!-- DATA_TOGGLE return data-toggle="collapse"--> 875 <!-- DATA_TOGGLE_CALSS return "dropdown-toggle" --> 876 <div class=""> 877 èç»æä»¬ 878 </div> 879 </a> 880 881 </div> 882 883 </div> 884 <div class="social_media pt-2 pb-2"> 885 <a href="tel:+60108247333" title="Call Sia Traditional Chinese Medicine" target="_blank"> 886 <i class="fas fa-phone-square fa-flip-horizontal fa-lg"></i> 887 </a> 888 889 <a href="https://www.google.com/maps/search/?api=1&query=1.634470,103.630287" title="Locate Sia Traditional Chinese Medicine" id="mapMnavigation" target="_blank"> 890 <i class="fas fa-map-marker-alt fa-lg"></i> 891 </a> 892 893 894 <a href="https://wa.me/60108247333?text=%E5%9C%B0%E5%9D%80Address%EF%BC%9A%0D%0ASaleng%E9%97%A8%E5%BA%97%3A1374-A%2CJLN%20CERMAI%207%2CTMN%20MESRA%20SALENG.%0D%0AMasai%E9%97%A8%E5%BA%97%3A9%2C%20JLN%20KOTA%203%2F1%2C%20TMN%20CAHAYA%20KOTA%20PUTERI%2081750%2C%20MASAI%2C%20JOHOR.%0D%0A%0D%0A%E7%94%B5%E8%AF%9DTel%28Saleng%29%20%3A%20010-8247333%0D%0A%E7%94%B5%E8%AF%9DTel%28Masai%29%3A018-2089333 (https://www.siatcm.com.my/tag/tag_id/218610,218609,217743,217747/)" title="Whatsapp Sia Traditional Chinese Medicine" data-type="1" class='contactRecordBtn'> 895 <i class="fab fa-whatsapp fa-lg"></i> 896 </a> 897 898 </div> 899 900 <div class="m_default_languagebar"> 901 <div class="w-100 mb-3 text-left p-0"> 902 <div class="npnavbar_languagebar">
903 <span><small>è¯è¨:</small></span> 904 905 <a class="col p-0 footer_langbar_item" href="/en/checkout/">EN</a> <span class="mx-2 languagebar_divider">|</span> 906 907 <a class="col p-0 footer_langbar_item" href="/checkout/">䏿</a> <span class="mx-2 languagebar_divider">|</span> 908 909 </div> 910 </div> 911 </div> 912 913</div> 914<div class="side_menu_background" onclick="show_sideMenu()"></div> 915
916<script> 917 function show_sideMenu() { 918 $(".side_menu").toggleClass("show"); 919 $(".side_menu_background").toggleClass("show"); 920 $("body").toggleClass("lock"); 921 $('.menu_button .menu_icon').toggleClass("change"); 922 } 923</script>
923 924
925<script> 926 $(document).ready(function() { 927 viewportwidth = $(window).width(); 928 if (viewportwidth > 992) { 929 var x = $('.navbar_height').outerHeight(); 930 $('#top_spacing').css('height', x); 931 } else { 932 var x = $('.navbar_mobile').outerHeight(); 933 $('#top_spacing').css('height', x); 934 } 935 }); 936 window.addEventListener('resize', function(event) { 937 if (viewportwidth > 992) { 938 var x = $('.navbar_height').outerHeight(); 939 $('#top_spacing').css('height', x); 940 } else { 941 var x = $('.navbar_mobile').outerHeight(); 942 $('#top_spacing').css('height', x); 943 } 944 }); 945</script>
945<div class="pb-5 all_functional_page" id="main_quotation_checkout"><div class='container outerContainer_1 ' > <div class='row outerRow_1' ><div class="col-md-12 generated_col " id="quotation_checkout_1"><div class="container-fluid innerContainer_1"><div class="row innerRow_1"> 946 <div class="col-md-12 generated_content p-0" id="quotation_checkout_1_1"> 947 <h1 class="text-left page_title"> 948 <b> 949 è´ç©è½¦ 950 </b> 951</h1> 952 </div> 953 </div></div></div></div></div><div class='container outerContainer_2 ' > <div class='row outerRow_2' ><div class="col-md-12 generated_col " id="quotation_checkout_2"><div class="container-fluid innerContainer_2"><div class="row innerRow_2"> 954 <div class="col-md-12 generated_content p-0" id="quotation_checkout_2_1"> 955 <div class="breadcrumb_b"> 956 <ol> 957 958 <li> 959 <a href="/" title="Homepage"> 960 <span><i class='fa fa-home' aria-hidden='true'></i></span> 961 </a> 962 </li> 963 964 <li> 965 <a href="/ourproducts/" title="产å"> 966 产å 967 </a> 968 </li> 969 970 <li> 971 <a href="javascript:void(0);" title="ç»ç®"> 972 ç»ç® 973 </a> 974 </li> 975 976 </ol> 977</div> 978 </div> 979 </div></div></div></div></div><div class='container-fluid outerContainer_3 ' > <div class='row outerRow_3' ><div class="col-md-12 generated_col p-0" id="quotation_checkout_3"><div class="container-fluid innerContainer_3"><div class="row innerRow_3"> 980 <div class="col-md-12 generated_content p-0" id="quotation_checkout_3_1"> 981 982 983<div class="container in_cart_item"> 984 <div class="row"> 985 <!-- Cart Header --> 986 <div class="col-12 card cart_item mb-2" style="max-height: 30px"> 987 <div class="row"> 988 <div class="col checkbox" style="top: 10px;position: relative;max-width: 20px;"> 989 <!-- <label for="checkAll" style="height: 20px;"> 990 <input type="checkbox" id="checkAll" onclick="checkAll(this)"> 991 <span class="checkmark"></span> 992 </label> --> 993 </div> 994 <div class="col" style="top: 10px;position: relative;"> 995 <!-- <p id="select_all">éæ©å ¨é¨</p> --> 996 </div> 997 <div class="col" style="top: 10px;position: relative;margin-bottom: 10px;"> 998 <div class="float-right pr-3 edit" onclick="editCart()"> 999 <i class="fas fa-edit"></i> æ´æ¹ 1000 </div> 1001 <div id="delete_all_selected" class="float-right mr-3 edit" onclick="removeSelected()"> 1002 <i class="fas fa-trash-alt"></i> å é¤ 1003 </div> 1004 </div> 1005 </div> 1006 </div> 1007 <div class="col-12 container cart_header mb-3 p-0"> 1008 <div class="d-flex flex-wrap flex-lg-nowrap" style="border: 1px solid rgba(0,0,0,.125); 1009 border-radius: .25rem;"> 1010 <div class="cart_check_box checkbox"> 1011 <label for="checkAll" style="height: 30px;"> 1012 <input type="checkbox" id="checkAll" onclick="checkAll(this)"> 1013 <span class="checkmark"></span> 1014 </label> 1015 </div> 1016 <div class="cart_product_name"> 1017 <strong> 1018 产å 1019 </strong> 1020 </div> 1021 <div class="cart_unit_price"> 1022 <strong> 1023 åä»· 1024 </strong> 1025 </div> 1026 <div class="cart_quantity"> 1027 <strong> 1028 æ°é 1029 </strong> 1030 </div> 1031 <div class="cart_total_price"> 1032 <strong> 1033 å计 1034 </strong> 1035 </div> 1036 <div class="cart_action"> 1037 <strong> 1038 æä½ 1039 </strong> 1040 </div> 1041 </div> 1042 </div> 1043 1044 1045 1046 1047 1048 1049 <div class="col-12 emptyQuotationMsg" style="display: none;"> 1050 <div class="d-flex justify-content-center" style="min-height:300px;height: 100%;"> 1051 <div class="align-self-center text-center"> 1052 <p> 1053 æ¨çè´ç©è½¦ææ¶æ²¡æååã 1054 </p> 1055 <a href="/ourproducts/"><button 1056 class="btn btn-primary text-center">å ¨é¨äº§å</button></a> 1057 </div> 1058 </div> 1059 </div> 1060 </div> 1061</div> 1062 1063<div class="card mt-3 check_out_card"> 1064 <div class="container mt-3 mb-3"> 1065 <div class="row"> 1066 <div class="col-md-4 mb-3 mb-md-0" style="overflow: hidden;text-overflow: ellipsis;"> 1067 1068 1069 <p class="my-auto"> 1070 <a href='/login/'><button class="btn btn-light"><i class="fas fa-sign-in-alt"></i> ç»å½</button></a> 1071 </p> 1072 1073 </div> 1074 <div class="col-md-4"> 1075 1076 <div class="container-fluid"> 1077 <div class="row mb-1"> 1078 <div class="col-md-12 p-0"> 1079 <button type="button" class="btn btn-outline-primary" id="selectvoucher" data-toggle="modal" data-target="#voucherModal" > 1080 <i class="fas fa-ticket-alt"></i> 使ç¨ä¼æ å· 1081 </button> 1082 </div> 1083 </div> 1084 1085 <!-- Voucher Modal --> 1086 <div class="modal fade " id="voucherModal" tabindex="-1" role="dialog" aria-hidden="true"> 1087 <div class="modal-dialog modal-dialog-centered" role="document"> 1088 <div class="modal-content"> 1089 <div class="modal-header"> 1090 <h5 class="modal-title">鿩伿 å¸</h5> 1091 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
1092 <span aria-hidden="true">×</span> 1093 </button> 1094 </div> 1095 <div class="modal-body"> 1096 <div class="d-flex pt-1 pb-3"> 1097 <input type="text" class="form-control" id="vouchertextfield" placeholder="è¾å ¥ä¼æ å·ç "> 1098 <button class="btn btn-primary ml-1" style="white-space: nowrap;" id="addVoucherBtn">å æ¢</button> 1099 </div> 1100 <p class="p-2 bg-light"> 1101 <b>鿶伿 å¸</b> 1102 </p> 1103 <div class="voucher_list" id="voucher_list"> 1104 1105 </div> 1106 <div id="shipping_voucher_section" style='display: none;'> 1107 <p class="p-2 bg-light"> 1108 <b>è¿è´¹å¸</b> 1109 </p> 1110 <div class="voucher_list" id="shipping_voucher_list"> 1111 1112 </div> 1113 </div> 1114 </div> 1115 <div class="modal-footer"> 1116 <button type="button" class="btn btn-secondary" data-dismiss="modal">å ³é</button> 1117 <button type="button" class="btn btn-primary" onclick="voucherSubmit()" data-dismiss="modal">å æ¢</button> 1118 </div> 1119 </div> 1120 </div> 1121 </div> 1122 1123 <div class="row voucher_redeem mb-3 mb-md-0"> 1124 <div class="col-12 p-0 mb-2" id="voucher_detail"> 1125 1126 </div> 1127 1128 <div class="col-12 p-0" id="shipping_voucher_detail"> 1129 1130 </div> 1131 </div> 1132 </div> 1133 1134 1135 </div> 1136 <div class="col-md-4 check_out"> 1137 <div class="container-fluid text-right"> 1138 1139 1140 1141 1142 <div class="row"> 1143 <div class="col p-0"> 1144 å忻价: 1145 </div> 1146 <div class="col p-0" id="cartCurrentPrice"> 1147 RM 0.00 1148 </div> 1149 </div> 1150 1151 1152 <div class="row"> 1153 <div class="col p-0"> 1154 ææ£: 1155 </div> 1156 <div class="col p-0"> 1157 <span id="coupon_discount" data-minimum-amount="0" data-coupon-type="" data-discount-type="0" data-discount-value="0"> 1158 RM 0.00 1159 </span> 1160 </div> 1161 </div> 1162 1163 1164 <div class="row"> 1165 <div class="col p-0"> 1166 è®¢åæ»éé¢ (<span id="currentSeleted">0</span> ç©å): 1167 </div> 1168 <div class="col p-0"> 1169 <strong id="cartFinalPrice"> 1170 RM 0.00 1171 </strong> 1172 </div> 1173 </div> 1174 1175 1176 1177 <div class="row" id="shopping_tnc"> 1178 <div class="col-12 p-0 d-flex" style="margin-top: 3px;"> 1179 <input type="checkbox" id="tncCheckbox" name="tncCheckbox" required style="margin-right: 5px;"> 1180 <label for="tncCheckbox" class="m-0">
1181 <span style="white-space: pre-line;"> 1182 <span style="box-sizing: border-box; outline: 0px; font-weight: bolder; color: rgb(33, 37, 41); font-family: ''Varela Round'', ''Noto Sans SC''; font-size: 16px;">1)è¿è¾è´¹ç¨å¦ä¸:-</span><br style="box-sizing: border-box; outline: 0px; color: rgb(33, 37, 41); font-family: ''Varela Round'', ''Noto Sans SC''; font-size: 16px;" /> 1183<br style="box-sizing: border-box; outline: 0px; color: rgb(33, 37, 41); font-family: ''Varela Round'', ''Noto Sans SC''; font-size: 16px;" /> 1184<span style="color: rgb(33, 37, 41); font-family: ''Varela Round'', ''Noto Sans SC''; font-size: 16px;">A)西马æ¥è¥¿äº</span><br style="box-sizing: border-box; outline: 0px; color: rgb(33, 37, 41); font-family: ''Varela Round'', ''Noto Sans SC''; font-size: 16px;" /> 1185<span style="color: rgb(33, 37, 41); font-family: ''Varela Round'', ''Noto Sans SC''; font-size: 16px;">>RM200.00 /订å-å è¿è´¹</span><br style="box-sizing: border-box; outline: 0px; color: rgb(33, 37, 41); font-family: ''Varela Round'', ''Noto Sans SC''; font-size: 16px;" /> 1186<br style="box-sizing: border-box; outline: 0px; color: rgb(33, 37, 41); font-family: ''Varela Round'', ''Noto Sans SC''; font-size: 16px;" /> 1187<span style="color: rgb(33, 37, 41); font-family: ''Varela Round'', ''Noto Sans SC''; font-size: 16px;">B)ä¸é©¬æ¥è¥¿äº</span><br style="box-sizing: border-box; outline: 0px; color: rgb(33, 37, 41); font-family: ''Varela Round'', ''Noto Sans SC''; font-size: 16px;" /> 1188<span style="color: rgb(33, 37, 41); font-family: ''Varela Round'', ''Noto Sans SC''; font-size: 16px;">>RM300.00 /订å-å è¿è´¹</span><br style="box-sizing: border-box; outline: 0px; color: rgb(33, 37, 41); font-family: ''Varela Round'', ''Noto Sans SC''; font-size: 16px;" /> 1189<br style="box-sizing: border-box; outline: 0px; color: rgb(33, 37, 41); font-family: ''Varela Round'', ''Noto Sans SC''; font-size: 16px;" /> 1190<br style="box-sizing: border-box; outline: 0px; color: rgb(33, 37, 41); font-family: ''Varela Round'', ''Noto Sans SC''; font-size: 16px;" /> 1191<span style="color: rgb(33, 37, 41); font-family: ''Varela Round'', ''Noto Sans SC''; font-size: 16px;">2)æä»¬å°å¨24å°æ¶å åéçµåé®ä»¶ï¼ç¡®è®¤æ¨ç订åï¼å æ¬è·è¸ªå·ç ï¼å½é¡¹ç®ä»æä»¬çåºæåè´§ã</span><br style="box-sizing: border-box; outline: 0px; color: rgb(33, 37, 41); font-family: ''Varela Round'', ''Noto Sans SC''; font-size: 16px;" /> 1192<br style="box-sizing: border-box; outline: 0px; color: rgb(33, 37, 41); font-family: ''Varela Round'', ''Noto Sans SC''; font-size: 16px;" /> 1193<br style="box-sizing: border-box; outline: 0px; color: rgb(33, 37, 41); font-family: ''Varela Round'', ''Noto Sans SC''; font-size: 16px;" /> 1194<span style="color: rgb(33, 37, 41); font-family: ''Varela Round'', ''Noto Sans SC''; font-size: 16px;">3)å¡äºä¸ååäºæ¶åæ¶å°æ¬¾é¡¹ç订åï¼ä¸è¬ä¼äºæå¯å½æ¥æä¸ä¸ä¸ªå·¥ä½å¤©(ææä¸è³äº)æ´¾éï¼æ´¾éæ¶é´ä¸è¬ä¸ºæå¯åä¸ä¸ä¸ªå·¥ä½å¤©ï¼éè¦3è³7个工ä½å¤©ãå¨å弿èæååæ°å¹´è¿æ ·çé¿åæé´ï¼äº¤è´§æ¶é´å¯è½ä¼æ´é¿</span> 1195 </span> 1196 </label> 1197 </div> 1198 <div class="col-12 p-0" id="tnc_hint"> 1199 <small class="text-danger">Kindly check the box to agree before proceeding to checkout.</small> 1200 </div> 1201 </div> 1202
1202<script> 1203 $(document).ready(function() { 1204 // Function to toggle the checkout button based on checkbox state 1205 function toggleCheckoutState() { 1206 const isChecked = $('#tncCheckbox').is(':checked'); 1207 $('#primaryCheckoutBtn').prop('disabled', !isChecked); 1208 $('#tnc_hint').toggle(!isChecked); // Show hint if checkbox is unchecked 1209 } 1210 // Initial check on page load 1211 toggleCheckoutState(); 1212 // Toggle button state on checkbox change 1213 $('#tncCheckbox').change(toggleCheckoutState); 1214 }); 1215 </script>
1215 1216 1217 1218 <div id="checkoutbtnui" style="display: ;"> 1219 <div class="row" style="margin-bottom: 0px;justify-content:flex-end"> 1220 <div class="col p-0 col_btn_wrapper" > 1221 1222 <button class="btn btn_whatsapp w-100" data-toggle="modal" data-target="#whatsappCheckOut" disabled > 1223 <i class="fab fa-whatsapp mr-1"></i>ä½¿ç¨ WhatsApp ç»ç® 1224 </button> 1225 1226 </div> 1227 1228 <div class="col p-0 col_btn_wrapper" > 1229 <button id="primaryCheckoutBtn" class="btn btn-primary w-100 h-100" data-toggle="modal" data-target="#" disabled 1230 > 1231 ç»ç® 1232 </button> 1233 </div> 1234 1235 </div> 1236 </div> 1237 1238 1239 1240 1241 1242 <div class="row" id='mincartpriceui' style="display: none;"> 1243 <div class="col p-0" style="margin-right: 5px;margin-top: 3px"> 1244 <b class="text-danger">*éè¦æä½æ¶è´¹ RM 0.00 <br>请éè´æ´å¤åå以è¿è¡ç»è´¦ã</b> 1245 </div> 1246 </div> 1247 1248 1249 1250 </div> 1251 </div> 1252 </div> 1253 </div> 1254</div> 1255 1256<div id="check_out_box"></div> 1257<!-- ### CheckOut ### --> 1258 1259<!-- Modal --> 1260 1261<div class="modal fade pr-0" id="checkOutFormModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> 1262 <div class="modal-dialog modal-md modal-dialog-top"> 1263 <div class="modal-content"> 1264 <div class="modal-header"> 1265 <h5 class="modal-title" id="checkOutLabel">确认信æ¯</h5> 1266 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 1267 <span aria-hidden="true">×</span> 1268 </button> 1269 </div> 1270 <div class="modal-body" style="overflow-y: scroll;padding-top: 0px;"> 1271 <!-- Circles which indicates the steps of the form: --> 1272 <div class="d-flex"> 1273 1274 1275 <div class="step" data-step-name="ç»å½"> 1276 <div class="status_bar"></div> 1277 </div> 1278 1279 <div class="step" data-step-name="ä¸ªäººèµæ"> 1280 <div class="status_bar"></div> 1281 </div> 1282 1283 <div class="step" data-step-name="é®å¯å°å"> 1284 <div class="status_bar"></div> 1285 </div> 1286 1287 1288 <div class="step" data-step-name="è´¦åå°å"> 1289 <div class="status_bar"></div> 1290 </div> 1291 1292 1293 1294 <div class="step" data-step-name="é®å¯é项"> 1295 <div class="status_bar"></div> 1296 </div> 1297 1298 </div> 1299 1300 <!-- One"tab" for each step in the form: --> 1301 1302 <div class="form_tab login_box pt-3" style="box-shadow: none;"> 1303 <div class="alert alert-info" role="alert"> 1304 请ç»å½æ¨çè´¦æ·ï¼æè æ¨ä¹å¯ä»¥éæ©ä»¥è®¿å®¢èº«ä»½ç»§ç»ã 1305 </div> 1306 <form method="post" action="/ex_post/ex_postLogin.php"> 1307 <div class="form-group"> 1308 <label for="newpages_id1">çµåé®ä»¶</label> 1309 <input type="text" class="form-control" id="newpages_id1" placeholder="" name="newpages_id"> 1310 </div> 1311 <div class="form-group"> 1312 <label for="newpages_password1">å¯ç </label> 1313 <input type="password" class="form-control" id="newpages_password1" placeholder="" name="newpages_password"> 1314 <!-- <input type="hidden" name="recaptcha_response" id="recaptchaResponse"> --> 1315 <input type="hidden" name="from_quotation"> 1316 </div> 1317 <button type="submit" class="btn general_btn w-100 mb-1">ç»å½</button> 1318 </form> 1319 <div class="center_line"> 1320 <p>æè </p> 1321 <hr> 1322 </div> 1323 <a href="https://account.newpages.com.my/index.php?action=fb_redirect&f=60383d81cecf196070c55800575635b35427dcf87883f867653247333ac33365f3c24742bdfc3bd6e3b5d7045af70904520856ed0238008c1ab3e3202d15e140911f950df0d8e2a8fc3f9672bfe434522886011e29c3dd8bb489f10fe2a207346d32bab64b5351a1e5e5ffcbb4d5a0d17999b8b59606499bd1b2f74a05166c3dff5c545f7a9eb6859733a0f40d754077a7fe7f420c8293e7f2e2e562c19b8b1113cc3e569625a5efc8db8a0e2e2e24453a84f44543f00d9c9d8a0b624ac6098c20bb6d78ce92f773d0a1b8b9e7e34fc2523205bea9fc3156e249db302e06d9ea691e420ef951b2124de8c357beb3b07c"> 1324 <button class="btn facebook_btn w-100 mt-1 mb-2"> 1325 <i class="fab fa-facebook-f"></i> ä½¿ç¨ Facebook ç»å½ 1326 </button> 1327 </a> 1328 <small class="float-md-right"> 1329 <a href="/forget_password/" title=""> 1330 å¿è®°å¯ç ? 1331 </a> 1332 </small> 1333 <br> 1334 <small><a href="/signup/">注å</a></small> 1335 </div> 1336 1337 <form id="checkOutForm" method="post" enctype="multipart/form-data"> 1338 1339 <div class="form_tab pt-3"> 1340 1341 <div class="form-group"> 1342 <label for="shippingName">åç§°<span class="red">*</span></label> 1343 <input type="text" class="form-control" id="shippingName" name="shippingName" value="" placeholder="åç§°" required> 1344 </div> 1345 <div class="form-row"> 1346 <div class="form-group col-md-6"> 1347 <label for="shippingContactNumber">èç»å·ç <span class="red">*</span></label> 1348 <input type="text" class="form-control" id="shippingContactNumber" value="" name="shippingContactNumber" placeholder="èç»å·ç " required> 1349 </div> 1350 <div class="form-group col-md-6"> 1351 <label for="shippingEmail">çµåé®ä»¶<span class="red">*</span></label> 1352 <input type="email" class="form-control" id="shippingEmail" value="" name="shippingEmail" placeholder="Email" required> 1353 </div> 1354 </div> 1355 1356 <div class="customized_form_section"> 1357 1358 <div class="form-group"> 1359 <label for="otherComment">ä¿¡æ¯</label> 1360 <textarea class="form-control" id="otherComment" rows="3" name="otherComment"></textarea> 1361 </div> 1362 1363 </div> 1364 </div> 1365 1366 <div class="form_tab pt-3"> 1367 <input type="hidden" name="checkout_language" value="cn"> 1368 1369 1370 1371 <div id='deliverymethod_input_shipping_tab'> 1372 1373 1374 <div class="form-row m-0"> 1375 <div class="form-group col-md-6"> 1376 <label for="shippingAddressName">åç§°<span class="red">*</span></label> 1377 <input class="form-control" id="shippingAddressName" name="shippingAddressName" rows="3" value="" required> 1378 </div> 1379 <div class="form-group col-md-6"> 1380 <label for="shippingAddressContactNumber">èç»å·ç <span 1381 class="red">*</span></label> 1382 <input type="text" class="form-control" id="shippingAddressContactNumber" value="" name="shippingAddressContactNumber" required> 1383 </div> 1384 </div> 1385 1386 <div class="form-group px-1"> 1387 <label for="shippingAddress">é®å¯å°å<span class="red">*</span></label> 1388 <textarea class="form-control" id="shippingAddress" name="shippingAddress" rows="3" required></textarea> 1389 </div> 1390 <div class="form-row m-0 pt-1"> 1391 <div class="form-group col-md-6"> 1392 <label for="shippingCountry">å½å®¶<span class="red">*</span></label> 1393 <select id="shippingCountry" class="form-control" name="shippingCountry" > 1394 1395 <option value="1">Afghanistan</option> 1396 1397 <option value="2">Albania</option> 1398 1399 <option value="3">Algeria</option> 1400 1401 <option value="4">American Samoa</option> 1402 1403 <option value="5">Andorra</option> 1404 1405 <option value="6">Angola</option> 1406 1407 <option value="7">Anguilla</option> 1408 1409 <option value="8">Antarctica</option> 1410 1411 <option value="9">Antigua and Barbuda</option> 1412 1413 <option value="10">Argentina</option> 1414 1415 <option value="11">Armenia</option> 1416 1417 <option value="12">Aruba</option> 1418 1419 <option value="13">Australia</option> 1420 1421 <option value="14">Austria</option> 1422 1423 <option value="15">Azerbaijan</option> 1424 1425 <option value="16">Bahamas</option> 1426 1427 <option value="17">Bahrain</option> 1428 1429 <option value="18">Bangladesh</option> 1430 1431 <option value="19">Barbados</option> 1432 1433 <option value="20">Belarus</option> 1434 1435 <option value="21">Belgium</option> 1436 1437 <option value="22">Belize</option> 1438 1439 <option value="23">Benin</option> 1440 1441 <option value="24">Bermuda</option> 1442 1443 <option value="25">Bhutan</option> 1444 1445 <option value="26">Bolivia</option> 1446 1447 <option value="27">Bosnia and Herzegovina</option> 1448 1449 <option value="28">Botswana</option> 1450 1451 <option value="29">Bouvet Island</option> 1452 1453 <option value="30">Brazil</option> 1454 1455 <option value="31">British Indian Ocean Territory</option> 1456 1457 <option value="32">Brunei Darussalam</option> 1458 1459 <option value="33">Bulgaria</option> 1460 1461 <option value="34">Burkina Faso</option> 1462 1463 <option value="35">Burundi</option> 1464 1465 <option value="36">Cambodia</option> 1466 1467 <option value="37">Cameroon</option> 1468 1469 <option value="38">Canada</option> 1470 1471 <option value="39">Cape Verde</option> 1472 1473 <option value="40">Cayman Islands</option> 1474 1475 <option value="41">Central African Republic</option> 1476 1477 <option value="42">Chad</option> 1478 1479 <option value="43">Chile</option> 1480 1481 <option value="44">China</option> 1482 1483 <option value="45">Christmas Island</option> 1484 1485 <option value="46">Cocos (Keeling) Islands</option> 1486 1487 <option value="47">Colombia</option> 1488 1489 <option value="48">Comoros</option> 1490 1491 <option value="49">Congo</option> 1492 1493 <option value="50">Cook Islands</option> 1494 1495 <option value="51">Costa Rica</option> 1496 1497 <option value="52">Cote D'Ivoire</option> 1498 1499 <option value="53">Croatia</option> 1500 1501 <option value="54">Cuba</option> 1502 1503 <option value="55">Cyprus</option> 1504
1505 <option value="56">Czech Republic</option> 1506 1507 <option value="57">Denmark</option> 1508 1509 <option value="58">Djibouti</option> 1510 1511 <option value="59">Dominica</option> 1512 1513 <option value="60">Dominican Republic</option> 1514 1515 <option value="61">East Timor</option> 1516 1517 <option value="62">Ecuador</option> 1518 1519 <option value="63">Egypt</option> 1520 1521 <option value="64">El Salvador</option> 1522 1523 <option value="65">Equatorial Guinea</option> 1524 1525 <option value="66">Eritrea</option> 1526 1527 <option value="67">Estonia</option> 1528 1529 <option value="68">Ethiopia</option> 1530 1531 <option value="69">Falkland Islands (Malvinas)</option> 1532 1533 <option value="70">Faroe Islands</option> 1534 1535 <option value="71">Fiji</option> 1536 1537 <option value="72">Finland</option> 1538 1539 <option value="74">France, Metropolitan</option> 1540 1541 <option value="75">French Guiana</option> 1542 1543 <option value="76">French Polynesia</option> 1544 1545 <option value="77">French Southern Territories</option> 1546 1547 <option value="78">Gabon</option> 1548 1549 <option value="79">Gambia</option> 1550 1551 <option value="80">Georgia</option> 1552 1553 <option value="81">Germany</option> 1554 1555 <option value="82">Ghana</option> 1556 1557 <option value="83">Gibraltar</option> 1558 1559 <option value="84">Greece</option> 1560 1561 <option value="85">Greenland</option> 1562 1563 <option value="86">Grenada</option> 1564 1565 <option value="87">Guadeloupe</option> 1566 1567 <option value="88">Guam</option> 1568 1569 <option value="89">Guatemala</option> 1570 1571 <option value="90">Guinea</option> 1572 1573 <option value="91">Guinea-Bissau</option> 1574 1575 <option value="92">Guyana</option> 1576 1577 <option value="93">Haiti</option> 1578 1579 <option value="94">Heard and Mc Donald Islands</option> 1580 1581 <option value="95">Honduras</option> 1582 1583 <option value="96">Hong Kong</option> 1584 1585 <option value="97">Hungary</option> 1586 1587 <option value="98">Iceland</option> 1588 1589 <option value="99">India</option> 1590 1591 <option value="100">Indonesia</option> 1592 1593 <option value="101">Iran (Islamic Republic of)</option> 1594 1595 <option value="102">Iraq</option> 1596 1597 <option value="103">Ireland</option> 1598 1599 <option value="104">Israel</option> 1600 1601 <option value="105">Italy</option> 1602 1603 <option value="106">Jamaica</option> 1604 1605 <option value="107">Japan</option> 1606 1607 <option value="108">Jordan</option> 1608 1609 <option value="109">Kazakhstan</option> 1610 1611 <option value="110">Kenya</option> 1612 1613 <option value="111">Kiribati</option> 1614 1615 <option value="112">North Korea</option> 1616 1617 <option value="113">South Korea</option> 1618 1619 <option value="114">Kuwait</option> 1620 1621 <option value="115">Kyrgyzstan</option> 1622 1623 <option value="116">Lao People's Democratic Republic</option> 1624 1625 <option value="117">Latvia</option> 1626 1627 <option value="118">Lebanon</option> 1628 1629 <option value="119">Lesotho</option> 1630 1631 <option value="120">Liberia</option> 1632 1633 <option value="121">Libyan Arab Jamahiriya</option> 1634 1635 <option value="122">Liechtenstein</option> 1636 1637 <option value="123">Lithuania</option> 1638 1639 <option value="124">Luxembourg</option> 1640 1641 <option value="125">Macau</option> 1642 1643 <option value="126">FYROM</option> 1644 1645 <option value="127">Madagascar</option> 1646 1647 <option value="128">Malawi</option> 1648 1649 <option selected value="129">Malaysia</option> 1650 1651 <option value="130">Maldives</option> 1652 1653 <option value="131">Mali</option> 1654 1655 <option value="132">Malta</option> 1656 1657 <option value="133">Marshall Islands</option> 1658 1659 <option value="134">Martinique</option> 1660 1661 <option value="135">Mauritania</option> 1662 1663 <option value="136">Mauritius</option> 1664 1665 <option value="137">Mayotte</option> 1666 1667 <option value="138">Mexico</option> 1668 1669 <option value="139">Micronesia, Federated States of</option> 1670 1671 <option value="140">Moldova, Republic of</option> 1672 1673 <option value="141">Monaco</option> 1674 1675 <option value="142">Mongolia</option> 1676 1677 <option value="143">Montserrat</option> 1678 1679 <option value="144">Morocco</option> 1680 1681 <option value="145">Mozambique</option> 1682 1683 <option value="146">Myanmar</option> 1684 1685 <option value="147">Namibia</option> 1686 1687 <option value="148">Nauru</option> 1688 1689 <option value="149">Nepal</option> 1690 1691 <option value="150">Netherlands</option> 1692 1693 <option value="151">Netherlands Antilles</option> 1694 1695 <option value="152">New Caledonia</option> 1696 1697 <option value="153">New Zealand</option> 1698 1699 <option value="154">Nicaragua</option> 1700 1701 <option value="155">Niger</option> 1702 1703 <option value="156">Nigeria</option> 1704 1705 <option value="157">Niue</option> 1706 1707 <option value="158">Norfolk Island</option> 1708 1709 <option value="159">Northern Mariana Islands</option> 1710 1711 <option value="160">Norway</option> 1712 1713 <option value="161">Oman</option> 1714 1715 <option value="162">Pakistan</option> 1716 1717 <option value="163">Palau</option> 1718 1719 <option value="164">Panama</option> 1720 1721 <option value="165">Papua New Guinea</option> 1722 1723 <option value="166">Paraguay</option> 1724 1725 <option value="167">
1725Peru</option> 1726 1727 <option value="168">Philippines</option> 1728 1729 <option value="169">Pitcairn</option> 1730 1731 <option value="170">Poland</option> 1732 1733 <option value="171">Portugal</option> 1734 1735 <option value="172">Puerto Rico</option> 1736 1737 <option value="173">Qatar</option> 1738 1739 <option value="174">Reunion</option> 1740 1741 <option value="175">Romania</option> 1742 1743 <option value="176">Russian Federation</option> 1744 1745 <option value="177">Rwanda</option> 1746 1747 <option value="178">Saint Kitts and Nevis</option> 1748 1749 <option value="179">Saint Lucia</option> 1750 1751 <option value="180">Saint Vincent and the Grenadines</option> 1752 1753 <option value="181">Samoa</option> 1754 1755 <option value="182">San Marino</option> 1756 1757 <option value="183">Sao Tome and Principe</option> 1758 1759 <option value="184">Saudi Arabia</option> 1760 1761 <option value="185">Senegal</option> 1762 1763 <option value="186">Seychelles</option> 1764 1765 <option value="187">Sierra Leone</option> 1766 1767 <option value="188">Singapore</option> 1768 1769 <option value="189">Slovak Republic</option> 1770 1771 <option value="190">Slovenia</option> 1772 1773 <option value="191">Solomon Islands</option> 1774 1775 <option value="192">Somalia</option> 1776 1777 <option value="193">South Africa</option> 1778 1779 <option value="194">South Georgia & South Sandwich Islands</option> 1780 1781 <option value="195">Spain</option> 1782 1783 <option value="196">Sri Lanka</option> 1784 1785 <option value="197">St. Helena</option> 1786 1787 <option value="198">St. Pierre and Miquelon</option> 1788 1789 <option value="199">Sudan</option> 1790 1791 <option value="200">Suriname</option> 1792 1793 <option value="201">Svalbard and Jan Mayen Islands</option> 1794 1795 <option value="202">Swaziland</option> 1796 1797 <option value="203">Sweden</option> 1798 1799 <option value="204">Switzerland</option> 1800 1801 <option value="205">Syrian Arab Republic</option> 1802 1803 <option value="206">Taiwan</option> 1804 1805 <option value="207">Tajikistan</option> 1806 1807 <option value="208">Tanzania, United Republic of</option> 1808 1809 <option value="209">Thailand</option> 1810 1811 <option value="210">Togo</option> 1812 1813 <option value="211">Tokelau</option> 1814 1815 <option value="212">Tonga</option> 1816 1817 <option value="213">Trinidad and Tobago</option> 1818 1819 <option value="214">Tunisia</option> 1820 1821 <option value="215">Turkey</option> 1822 1823 <option value="216">Turkmenistan</option> 1824 1825 <option value="217">Turks and Caicos Islands</option> 1826 1827 <option value="218">Tuvalu</option> 1828 1829 <option value="219">Uganda</option> 1830 1831 <option value="220">Ukraine</option> 1832 1833 <option value="221">United Arab Emirates</option> 1834 1835 <option value="222">United Kingdom</option> 1836 1837 <option value="223">United States</option> 1838 1839 <option value="224">United States Minor Outlying Islands</option> 1840 1841 <option value="225">Uruguay</option> 1842 1843 <option value="226">Uzbekistan</option> 1844 1845 <option value="227">Vanuatu</option> 1846 1847 <option value="228">Vatican City State (Holy See)</option> 1848 1849 <option value="229">Venezuela</option> 1850 1851 <option value="230">Viet Nam</option> 1852 1853 <option value="231">Virgin Islands (British)</option> 1854 1855 <option value="232">Virgin Islands (U.S.)</option> 1856 1857 <option value="233">Wallis and Futuna Islands</option> 1858 1859 <option value="234">Western Sahara</option> 1860 1861 <option value="235">Yemen</option> 1862 1863 <option value="237">Democratic Republic of Congo</option> 1864 1865 <option value="238">Zambia</option> 1866 1867 <option value="239">Zimbabwe</option> 1868 1869 <option value="242">Montenegro</option> 1870 1871 <option value="243">Serbia</option> 1872 1873 <option value="244">Aaland Islands</option> 1874 1875 <option value="245">Bonaire, Sint Eustatius and Saba</option> 1876 1877 <option value="246">Curacao</option> 1878 1879 <option value="247">Palestinian Territory, Occupied</option> 1880 1881 <option value="248">South Sudan</option> 1882 1883 <option value="249">St. Barthelemy</option> 1884 1885 <option value="250">St. Martin (French part)</option> 1886 1887 <option value="251">Canary Islands</option> 1888 1889 <option value="252">Ascension Island (British)</option> 1890 1891 <option value="253">Kosovo, Republic of</option> 1892 1893 <option value="254">Isle of Man</option> 1894 1895 <option value="255">Tristan da Cunha</option> 1896 1897 <option value="256">Guernsey</option> 1898 1899 <option value="257">Jersey</option> 1900 1901 </select> 1902 </div> 1903 <div class="form-group col-md-6"> 1904 <label for="shippingState">å·å±<span class="red">*</span></label> 1905 <select id="shippingState" class="form-control" name="shippingState" required> 1906 <option selected disabled value="">è¯·éæ©å·å±...</option> 1907 1908 <option selected value="1971">Johor</option> 1909 1910 <option value="1972">Kedah</option> 1911 1912 <option value="1973">Kelantan</option> 1913 1914 <option value="1974">Labuan</option> 1915 1916 <option value="1975">Melaka</option> 1917 1918 <option value="1976">Negeri Sembilan</option> 1919 1920 <option value="1977">Pahang</option> 1921 1922 <option value="1978">Perak</option> 1923 1924 <option value="1979">Perlis</option> 1925 1926 <option value="1980">Pulau Pinang</option> 1927 1928 <option value="1981">Sabah</option> 1929 1930 <option value="1982">Sarawak</option> 1931 1932 <option value="1983">Selangor</option> 1933 1934 <option value="1984">Terengganu</option> 1935 1936 <option value="1985">Kuala Lumpur</option> 1937 1938 <option value="4035">Putrajaya</option> 1939 1940 <option value="4239">West Malaysia</option> 1941 1942 <option value="4240">East Malaysia</option> 1943 1944 </select> 1945 </div> 1946 <div class="form-group col-md-6"> 1947 <label for="shippingPostcode">鮿¿ç¼ç <span class="red">*</span></label> 1948 <input type="text" class="form-control" id="shippingPostcode" value="" name="shippingPostcode" required> 1949 </div> 1950 </div> 1951 </div> 1952 <div id="deliverymethod_selfpickup_tab" style="display:none;"> 1953 1954 <div class="col-12"> 1955 1956 <div class="form-group row"> 1957 <select class="form-control form-control-lg" id="selfpickup_selection"> 1958 <option value="0" selected disabled ></option> 1959 1960 <option value=""></option> 1961 1962 </select> 1963 </div> 1964 <div class="form-group row"> 1965 1966 1967 1968 <div class="form-group col-6 p-0"> 1969 <label for="selfpickup_time">èªåæ¶é´<span class="red">*</span></label> 1970 <select class="form-control" id="selfpickup_time" name="submit_delivery_time_self_pickup" style='height:36px;'> 1971 <option value="" selected disabled>
1971èªåæ¶é´... </option> 1972 1973 <option value="8:00 AM">8:00 AM</option>> 1974 1975 <option value="9:00 AM">9:00 AM</option>> 1976 1977 <option value="10:00 AM">10:00 AM</option>> 1978 1979 <option value="11:00 AM">11:00 AM</option>> 1980 1981 <option value="12:00 PM">12:00 PM</option>> 1982 1983 <option value="1:00 PM">1:00 PM</option>> 1984 1985 <option value="2:00 PM">2:00 PM</option>> 1986 1987 <option value="3:00 PM">3:00 PM</option>> 1988 1989 <option value="4:00 PM">4:00 PM</option>> 1990 1991 <option value="5:00 PM">5:00 PM</option>> 1992 1993 </select> 1994 </div> 1995 1996 </div> 1997 </div> 1998 1999
1999<script type="text/javascript"> 2000 $('#selfpickup_selection').on('change', function() { 2001 $("#selfpickup_selection_id").val($(this).find(":selected").val()); 2002 2003 //ajax get shipping details 2004 $.ajax({ 2005 type: "POST", 2006 url: '/ex_ajax/ex_getPickupAddressDetails.php', 2007 dataType: "JSON", 2008 data: { 2009 id: $(this).find(":selected").val(), 2010 lang:'cn' 2011 }, 2012 success: function(data) { 2013 $("#pickup_address_maps").attr("src",data.url); 2014 $("#self_pickup_remarks").html(data.remarks); 2015 $(".self_pickup_address_details_div").show(); 2016 } 2017 }); 2018 }); 2019 </script>
2019 2020 2021 2022 2023 <div class="self_pickup_address_details_div" style="display:;"> 2024 <div class="alert alert-secondary" role="alert" id="self_pickup_remarks"> 2025 2026 </div> 2027 <input type="hidden" name="checkout_is_selfpickup_selected" id="checkout_is_selfpickup_selected" value="0"> 2028 <input type="hidden" name="selfpickup_selection_id" id="selfpickup_selection_id" value="0"> 2029 <div class='w-100'> 2030 <iframe src="" id='pickup_address_maps' scrolling="no" marginheight="0" marginwidth="0" style="width:100%" height="300" frameborder="0"></iframe> 2031 </div> 2032 </div> 2033 2034 </div> 2035 </div> 2036 2037 2038 <div class="form_tab pt-3"> 2039 <div class="form-group px-1"> 2040 <div class="custom-control custom-checkbox"> 2041 <input type="checkbox" class="custom-control-input" id="useShippingAddress"> 2042 <label class="custom-control-label" for="useShippingAddress">使ç¨ä¸é®å¯ç¸åçå°å</label> 2043 </div> 2044 </div> 2045 <div class="form-row" style="margin:0;"> 2046 <div class="form-group col-6"> 2047 <label for="billingAddressName">åç§°<span class="red">*</span></label> 2048 <input class="form-control" id="billingAddressName" name="billingAddressName" rows="3" placeholder="Billing Name" value="" required></input> 2049 </div> 2050 <div class="form-group col-6"> 2051 <label for="billingAddressContactNumber">èç»å·ç <span 2052 class="red">*</span></label> 2053 <input type="text" class="form-control" id="billingAddressContactNumber" value="" name="billingAddressContactNumber" placeholder="Contact Number" required> 2054 </div> 2055 </div> 2056 <div class="form-group px-1"> 2057 <label for="billingAddress">è´¦åå°å<span class="red">*</span></label> 2058 <textarea class="form-control" id="billingAddress" name="billingAddress" rows="3" required></textarea> 2059 </div> 2060 <div class="form-row" style="margin:0;"> 2061 <div class="form-group col-md-6"> 2062 <label for="billingCountry">å½å®¶<span class="red">*</span></label> 2063 <select id="billingCountry" class="form-control" name="billingCountry"> 2064 2065 <option value="1">Afghanistan</option> 2066 2067 <option value="2">Albania</option> 2068 2069 <option value="3">Algeria</option> 2070 2071 <option value="4">American Samoa</option> 2072 2073 <option value="5">Andorra</option> 2074 2075 <option value="6">Angola</option> 2076 2077 <option value="7">Anguilla</option> 2078 2079 <option value="8">Antarctica</option> 2080 2081 <option value="9">Antigua and Barbuda</option> 2082 2083 <option value="10">Argentina</option> 2084 2085 <option value="11">Armenia</option> 2086 2087 <option value="12">Aruba</option> 2088 2089 <option value="13">Australia</option> 2090 2091 <option value="14">Austria</option> 2092 2093 <option value="15">Azerbaijan</option> 2094 2095 <option value="16">Bahamas</option> 2096 2097 <option value="17">Bahrain</option> 2098 2099 <option value="18">Bangladesh</option> 2100 2101 <option value="19">Barbados</option> 2102 2103 <option value="20">Belarus</option> 2104 2105 <option value="21">Belgium</option> 2106 2107 <option value="22">Belize</option> 2108 2109 <option value="23">Benin</option> 2110 2111 <option value="24">Bermuda</option> 2112 2113 <option value="25">Bhutan</option> 2114 2115 <option value="26">Bolivia</option> 2116 2117 <option value="27">Bosnia and Herzegovina</option> 2118 2119 <option value="28">Botswana</option> 2120 2121 <option value="29">Bouvet Island</option> 2122 2123 <option value="30">Brazil</option> 2124 2125 <option value="31">British Indian Ocean Territory</option> 2126 2127 <option value="32">Brunei Darussalam</option> 2128 2129 <option value="33">Bulgaria</option> 2130 2131 <option value="34">Burkina Faso</option> 2132 2133 <option value="35">Burundi</option> 2134 2135 <option value="36">Cambodia</option> 2136 2137 <option value="37">Cameroon</option> 2138 2139 <option value="38">Canada</option> 2140 2141 <option value="39">Cape Verde</option> 2142 2143 <option value="40">Cayman Islands</option> 2144 2145 <option value="41">Central African Republic</option> 2146 2147 <option value="42">Chad</option> 2148 2149 <option value="43">Chile</option> 2150 2151 <option value="44">China</option> 2152 2153 <option value="45">Christmas Island</option> 2154 2155 <option value="46">Cocos (Keeling) Islands</option> 2156 2157 <option value="47">Colombia</option> 2158 2159 <option value="48">Comoros</option> 2160 2161 <option value="49">Congo</option> 2162 2163 <option value="50">Cook Islands</option> 2164 2165 <option value="51">Costa Rica</option> 2166 2167 <option value="52">Cote D'Ivoire</option> 2168 2169 <option value="53">Croatia</option> 2170 2171 <option value="54">Cuba</option> 2172 2173 <option value="55">Cyprus</option> 2174 2175 <option value="56">Czech Republic</option> 2176
2177 <option value="57">Denmark</option> 2178 2179 <option value="58">Djibouti</option> 2180 2181 <option value="59">Dominica</option> 2182 2183 <option value="60">Dominican Republic</option> 2184 2185 <option value="61">East Timor</option> 2186 2187 <option value="62">Ecuador</option> 2188 2189 <option value="63">Egypt</option> 2190 2191 <option value="64">El Salvador</option> 2192 2193 <option value="65">Equatorial Guinea</option> 2194 2195 <option value="66">Eritrea</option> 2196 2197 <option value="67">Estonia</option> 2198 2199 <option value="68">Ethiopia</option> 2200 2201 <option value="69">Falkland Islands (Malvinas)</option> 2202 2203 <option value="70">Faroe Islands</option> 2204 2205 <option value="71">Fiji</option> 2206 2207 <option value="72">Finland</option> 2208 2209 <option value="74">France, Metropolitan</option> 2210 2211 <option value="75">French Guiana</option> 2212 2213 <option value="76">French Polynesia</option> 2214 2215 <option value="77">French Southern Territories</option> 2216 2217 <option value="78">Gabon</option> 2218 2219 <option value="79">Gambia</option> 2220 2221 <option value="80">Georgia</option> 2222 2223 <option value="81">Germany</option> 2224 2225 <option value="82">Ghana</option> 2226 2227 <option value="83">Gibraltar</option> 2228 2229 <option value="84">Greece</option> 2230 2231 <option value="85">Greenland</option> 2232 2233 <option value="86">Grenada</option> 2234 2235 <option value="87">Guadeloupe</option> 2236 2237 <option value="88">Guam</option> 2238 2239 <option value="89">Guatemala</option> 2240 2241 <option value="90">Guinea</option> 2242 2243 <option value="91">Guinea-Bissau</option> 2244 2245 <option value="92">Guyana</option> 2246 2247 <option value="93">Haiti</option> 2248 2249 <option value="94">Heard and Mc Donald Islands</option> 2250 2251 <option value="95">Honduras</option> 2252 2253 <option value="96">Hong Kong</option> 2254 2255 <option value="97">Hungary</option> 2256 2257 <option value="98">Iceland</option> 2258 2259 <option value="99">India</option> 2260 2261 <option value="100">Indonesia</option> 2262 2263 <option value="101">Iran (Islamic Republic of)</option> 2264 2265 <option value="102">Iraq</option> 2266 2267 <option value="103">Ireland</option> 2268 2269 <option value="104">Israel</option> 2270 2271 <option value="105">Italy</option> 2272 2273 <option value="106">Jamaica</option> 2274 2275 <option value="107">Japan</option> 2276 2277 <option value="108">Jordan</option> 2278 2279 <option value="109">Kazakhstan</option> 2280 2281 <option value="110">Kenya</option> 2282 2283 <option value="111">Kiribati</option> 2284 2285 <option value="112">North Korea</option> 2286 2287 <option value="113">South Korea</option> 2288 2289 <option value="114">Kuwait</option> 2290 2291 <option value="115">Kyrgyzstan</option> 2292 2293 <option value="116">Lao People's Democratic Republic</option> 2294 2295 <option value="117">Latvia</option> 2296 2297 <option value="118">Lebanon</option> 2298 2299 <option value="119">Lesotho</option> 2300 2301 <option value="120">Liberia</option> 2302 2303 <option value="121">Libyan Arab Jamahiriya</option> 2304 2305 <option value="122">Liechtenstein</option> 2306 2307 <option value="123">Lithuania</option> 2308 2309 <option value="124">Luxembourg</option> 2310 2311 <option value="125">Macau</option> 2312 2313 <option value="126">FYROM</option> 2314 2315 <option value="127">Madagascar</option> 2316 2317 <option value="128">Malawi</option> 2318 2319 <option selected value="129">Malaysia</option> 2320 2321 <option value="130">Maldives</option> 2322 2323 <option value="131">Mali</option> 2324 2325 <option value="132">Malta</option> 2326 2327 <option value="133">Marshall Islands</option> 2328 2329 <option value="134">Martinique</option> 2330 2331 <option value="135">Mauritania</option> 2332 2333 <option value="136">Mauritius</option> 2334 2335 <option value="137">Mayotte</option> 2336 2337 <option value="138">Mexico</option> 2338 2339 <option value="139">Micronesia, Federated States of</option> 2340 2341 <option value="140">Moldova, Republic of</option> 2342 2343 <option value="141">Monaco</option> 2344 2345 <option value="142">Mongolia</option> 2346 2347 <option value="143">Montserrat</option> 2348 2349 <option value="144">Morocco</option> 2350 2351 <option value="145">Mozambique</option> 2352 2353 <option value="146">Myanmar</option> 2354 2355 <option value="147">Namibia</option> 2356 2357 <option value="148">Nauru</option> 2358 2359 <option value="149">Nepal</option> 2360 2361 <option value="150">Netherlands</option> 2362 2363 <option value="151">Netherlands Antilles</option> 2364 2365 <option value="152">New Caledonia</option> 2366 2367 <option value="153">New Zealand</option> 2368 2369 <option value="154">Nicaragua</option> 2370 2371 <option value="155">Niger</option> 2372 2373 <option value="156">Nigeria</option> 2374 2375 <option value="157">Niue</option> 2376 2377 <option value="158">Norfolk Island</option> 2378 2379 <option value="159">Northern Mariana Islands</option> 2380 2381 <option value="160">Norway</option> 2382 2383 <option value="161">Oman</option> 2384 2385 <option value="162">Pakistan</option> 2386 2387 <option value="163">Palau</option> 2388 2389 <option value="164">Panama</option> 2390 2391 <option value="165">Papua New Guinea</option> 2392 2393 <option value="166">Paraguay</option> 2394 2395 <option value="167">
2395Peru</option> 2396 2397 <option value="168">Philippines</option> 2398 2399 <option value="169">Pitcairn</option> 2400 2401 <option value="170">Poland</option> 2402 2403 <option value="171">Portugal</option> 2404 2405 <option value="172">Puerto Rico</option> 2406 2407 <option value="173">Qatar</option> 2408 2409 <option value="174">Reunion</option> 2410 2411 <option value="175">Romania</option> 2412 2413 <option value="176">Russian Federation</option> 2414 2415 <option value="177">Rwanda</option> 2416 2417 <option value="178">Saint Kitts and Nevis</option> 2418 2419 <option value="179">Saint Lucia</option> 2420 2421 <option value="180">Saint Vincent and the Grenadines</option> 2422 2423 <option value="181">Samoa</option> 2424 2425 <option value="182">San Marino</option> 2426 2427 <option value="183">Sao Tome and Principe</option> 2428 2429 <option value="184">Saudi Arabia</option> 2430 2431 <option value="185">Senegal</option> 2432 2433 <option value="186">Seychelles</option> 2434 2435 <option value="187">Sierra Leone</option> 2436 2437 <option value="188">Singapore</option> 2438 2439 <option value="189">Slovak Republic</option> 2440 2441 <option value="190">Slovenia</option> 2442 2443 <option value="191">Solomon Islands</option> 2444 2445 <option value="192">Somalia</option> 2446 2447 <option value="193">South Africa</option> 2448 2449 <option value="194">South Georgia & South Sandwich Islands</option> 2450 2451 <option value="195">Spain</option> 2452 2453 <option value="196">Sri Lanka</option> 2454 2455 <option value="197">St. Helena</option> 2456 2457 <option value="198">St. Pierre and Miquelon</option> 2458 2459 <option value="199">Sudan</option> 2460 2461 <option value="200">Suriname</option> 2462 2463 <option value="201">Svalbard and Jan Mayen Islands</option> 2464 2465 <option value="202">Swaziland</option> 2466 2467 <option value="203">Sweden</option> 2468 2469 <option value="204">Switzerland</option> 2470 2471 <option value="205">Syrian Arab Republic</option> 2472 2473 <option value="206">Taiwan</option> 2474 2475 <option value="207">Tajikistan</option> 2476 2477 <option value="208">Tanzania, United Republic of</option> 2478 2479 <option value="209">Thailand</option> 2480 2481 <option value="210">Togo</option> 2482 2483 <option value="211">Tokelau</option> 2484 2485 <option value="212">Tonga</option> 2486 2487 <option value="213">Trinidad and Tobago</option> 2488 2489 <option value="214">Tunisia</option> 2490 2491 <option value="215">Turkey</option> 2492 2493 <option value="216">Turkmenistan</option> 2494 2495 <option value="217">Turks and Caicos Islands</option> 2496 2497 <option value="218">Tuvalu</option> 2498 2499 <option value="219">Uganda</option> 2500 2501 <option value="220">Ukraine</option> 2502 2503 <option value="221">United Arab Emirates</option> 2504 2505 <option value="222">United Kingdom</option> 2506 2507 <option value="223">United States</option> 2508 2509 <option value="224">United States Minor Outlying Islands</option> 2510 2511 <option value="225">Uruguay</option> 2512 2513 <option value="226">Uzbekistan</option> 2514 2515 <option value="227">Vanuatu</option> 2516 2517 <option value="228">Vatican City State (Holy See)</option> 2518 2519 <option value="229">Venezuela</option> 2520 2521 <option value="230">Viet Nam</option> 2522 2523 <option value="231">Virgin Islands (British)</option> 2524 2525 <option value="232">Virgin Islands (U.S.)</option> 2526 2527 <option value="233">Wallis and Futuna Islands</option> 2528 2529 <option value="234">Western Sahara</option> 2530 2531 <option value="235">Yemen</option> 2532 2533 <option value="237">Democratic Republic of Congo</option> 2534 2535 <option value="238">Zambia</option> 2536 2537 <option value="239">Zimbabwe</option> 2538 2539 <option value="242">Montenegro</option> 2540 2541 <option value="243">Serbia</option> 2542 2543 <option value="244">Aaland Islands</option> 2544 2545 <option value="245">Bonaire, Sint Eustatius and Saba</option> 2546 2547 <option value="246">Curacao</option> 2548 2549 <option value="247">Palestinian Territory, Occupied</option> 2550 2551 <option value="248">South Sudan</option> 2552 2553 <option value="249">St. Barthelemy</option> 2554 2555 <option value="250">St. Martin (French part)</option> 2556 2557 <option value="251">Canary Islands</option> 2558 2559 <option value="252">Ascension Island (British)</option> 2560 2561 <option value="253">Kosovo, Republic of</option> 2562 2563 <option value="254">Isle of Man</option> 2564 2565 <option value="255">Tristan da Cunha</option> 2566 2567 <option value="256">Guernsey</option> 2568 2569 <option value="257">Jersey</option> 2570 2571 </select> 2572 </div> 2573 <div class="form-group col-md-6"> 2574 <label for="billingState">å·å±<span class="red">*</span></label> 2575 <select id="billingState" class="form-control" name="billingState" required> 2576 2577 <option selected value="1971">Johor</option> 2578 2579 <option value="1972">Kedah</option> 2580 2581 <option value="1973">Kelantan</option> 2582 2583 <option value="1974">Labuan</option> 2584 2585 <option value="1975">Melaka</option> 2586 2587 <option value="1976">Negeri Sembilan</option> 2588 2589 <option value="1977">Pahang</option> 2590 2591 <option value="1978">Perak</option> 2592 2593 <option value="1979">Perlis</option> 2594 2595 <option value="1980">Pulau Pinang</option> 2596 2597 <option value="1981">Sabah</option> 2598 2599 <option value="1982">Sarawak</option> 2600 2601 <option value="1983">Selangor</option> 2602 2603 <option value="1984">Terengganu</option> 2604 2605 <option value="1985">Kuala Lumpur</option> 2606 2607 <option value="4035">Putrajaya</option> 2608 2609 <option value="4239">West Malaysia</option> 2610 2611 <option value="4240">East Malaysia</option> 2612 2613 </select> 2614 </div> 2615 <div class="form-group col-md-6"> 2616 <label for="billingPostcode">鮿¿ç¼ç <span class="red">*</span></label> 2617 <input type="text" class="form-control" id="billingPostcode" value="" name="billingPostcode" required> 2618 </div> 2619 </div> 2620 </div> 2621 2622 2623 2624 <div class="form_tab pt-3" style="box-shadow: none;"> 2625 2626 <p class="mb-1">é®å¯å°å</p> 2627 <div class="address_area mb-3"> 2628 <p class="name mb-0"><b></b></p> 2629 <div class="company_name"></div> 2630 <div class="contact_number"></div> 2631 <div class="address_detail"> 2632 </div> 2633 <div><span class="postcode"></span> <span class="state" data-statecode=''></span></div> 2634 <div class="country" data-countrycode=''></div> 2635 <i class="fas fa-map-marker"></i> 2636 2637 </div> 2638 <div class="row"> 2639 2640 2641 <div class="form-group col-6"> 2642 <!-- <div class="form-group"> --> 2643 <label for="deliveryTime">æ´¾éæ¶é´</label> 2644 <select class="form-control" id="deliveryTime" name="submit_delivery_time" style='height:36px;' required> 2645 <!-- <option value="Anytime" selected>ä»»ææ¶é´</option> --> 2646 <option value="" selected disabled>
2646æ´¾éæ¶é´... </option> 2647 2648 <option value="8:00 AM">8:00 AM</option>> 2649 2650 <option value="9:00 AM">9:00 AM</option>> 2651 2652 <option value="10:00 AM">10:00 AM</option>> 2653 2654 <option value="11:00 AM">11:00 AM</option>> 2655 2656 <option value="12:00 PM">12:00 PM</option>> 2657 2658 <option value="1:00 PM">1:00 PM</option>> 2659 2660 <option value="2:00 PM">2:00 PM</option>> 2661 2662 <option value="3:00 PM">3:00 PM</option>> 2663 2664 <option value="4:00 PM">4:00 PM</option>> 2665 2666 <option value="5:00 PM">5:00 PM</option>> 2667 2668 </select> 2669 <!-- </div> --> 2670 </div> 2671 2672 </div> 2673 2674 <div class="form-group"> 2675 <label for="shippingOption">è¯·éæ©ä½ çé®å¯æ¹å¼: </label> 2676 <label id="shippingOptionMessage"></label> 2677 <select class="form-control" onchange="getDeliveryDesc();" id="shippingOption" name="shippingOption" required> 2678 2679 <option value="" disabled >Choose your shipping option here...</option> 2680 2681 </select> 2682 </div> 2683 <div class="form-group"> 2684 <p class="mb-1 font-underline"><u>é é详æ </u></p> 2685 <div id="deliveryDetails" style="white-space:break-spaces;"></div> 2686 </div> 2687 </div> 2688 2689 </div> 2690 <input type="hidden" name="shippingContactNumberCode" id="shippingContactNumberCode"> 2691 <!-- For Shipping Address Contact --> 2692 <input type="hidden" name="shippingAddressContactNumberCode" id="shippingAddressContactNumberCode"> 2693 <!-- For Billing Address Contact --> 2694 <input type="hidden" name="billingAddressContactNumberCode" id="billingAddressContactNumberCode"> 2695 2696 <div class="modal-footer"> 2697 <button type="button" class="btn btn-secondary float-left" id="prevBtn" onclick="nextPrev(-1)"><i 2698 class="fas fa-chevron-left"></i> </button> 2699 <button type="submit" class="btn btn-primary float-right" id="checkOutSubmitBtn" style="display: none;">确认</button> 2700 <button type="button" class="btn btn-primary float-right" id="nextBtn" onclick="nextPrev(1)">ä¸ä¸æ¥</button> 2701 </div> 2702 </form> 2703 </div> 2704 </div> 2705</div> 2706 2707<!-- Before Going To Whastapp CheckOut --> 2708<div id="whatsappCheckOut" class="modal fade bd-example-modal-md" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true"> 2709 <div class="modal-dialog modal-md modal-dialog-centered"> 2710 <div class="modal-content"> 2711 <div class="modal-header"> 2712 <h5 class="modal-title" id="whatsappPopupModal"><i class="fab fa-whatsapp" style="color:#25d366;"></i> ä½¿ç¨ WhatsApp ç»ç®</h5> 2713 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 2714 <span aria-hidden="true">Ã</span> 2715 </button> 2716 </div> 2717 <div class="modal-body expressWhatsappBody"> 2718 <p>éè¿ WhatsApp å°æ¨çè´ç©è½¦åéç»æä»¬ä»¥äºè§£æ´å¤è¯¦æ 并宿æ¨çç»ç®ã</p> 2719 2720 </div> 2721 <div class="modal-footer"> 2722 <button type="button" class="btn btn-secondary" data-dismiss="modal">å ³é</button> 2723 <button type="submit" class="btn btn-primary" id="whatsappCheckOutYes">æäº¤</button> 2724 </div> 2725 </div> 2726 </div> 2727</div> 2728 2729 2730<!-- Change Address --> 2731 2732</div> 2733 2734<!-- When item val less that 1 Delete comfirmation --> 2735<div class="modal fade" id="deleteConfirmModel" tabindex="-1" role="dialog" aria-labelledby="deleteConfirmModel" aria-hidden="true"> 2736<div class="modal-dialog modal-dialog-centered" role="document"> 2737 <div class="modal-content"> 2738 <div class="modal-body"> 2739 Do you want to delete this item? 2740 <div class="d-flex"> 2741 <div class="ml-auto"> 2742 <button type="button" class="btn btn-secondary" data-dismiss="modal">No</button> 2743 <button type="button" class="btn btn-primary" id="btn_confirm_delete">Yes</button> 2744 </div> 2745 </div> 2746 </div> 2747 </div> 2748</div> 2749</div> 2750 2751<div class="modal fade" id="noShippingCheckoutModal" tabindex="-1" role="dialog" aria-labelledby="noShippingCheckoutModal" aria-hidden="true"> 2752<div class="modal-dialog modal-dialog-centered" role="document"> 2753 <div class="modal-content"> 2754 <div class="modal-header"> 2755 <h5 class="modal-title" id="checkOutLabel">确认信æ¯</h5> 2756 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
2757 <span aria-hidden="true">×</span> 2758 </button> 2759 </div> 2760 <div class="modal-body" style="overflow-y: scroll;padding-top: 0px;"> 2761 <form id="checkOutForm" method="post" enctype="multipart/form-data"> 2762 <div class=" pt-3" style="display: block;"> 2763 <div class="form-group"> 2764 <label for="shippingName">åç§°<span class="red">*</span></label> 2765 <input type="text" class="form-control" id="shippingName" name="shippingName" value="" placeholder="Name" required=""> 2766 </div> 2767 <div class="form-row"> 2768 <div class="form-group col-md-6"> 2769 <label for="shippingContactNumber">èç»å·ç <span class="red">*</span></label> 2770 <input type="tel" class="form-control" id="shippingContactNumber" value="" name="shippingContactNumber" placeholder="Contact number" required=""> 2771 </div> 2772 <div class="form-group col-md-6"> 2773 <label for="shippingEmail">çµåé®ä»¶<span class="red">*</span></label> 2774 <input type="email" class="form-control" id="shippingEmail" value="" name="shippingEmail" placeholder="Email" required=""> 2775 </div> 2776 </div> 2777 <div class="form-group"> 2778 <label for="otherComment">ä¿¡æ¯</label> 2779 <textarea class="form-control" id="otherComment" rows="3" name="otherComment"></textarea> 2780 </div> 2781 2782 <div class="form-group"> 2783 <label for="billingAddress">è´¦åå°å<span class="red">*</span></label> 2784 <textarea class="form-control" id="billingAddress" name="billingAddress" rows="3" required=""></textarea> 2785 </div> 2786 </div> 2787 </div> 2788 <div class="modal-footer"> 2789 <button type="submit" class="btn btn-primary float-right" >Confirm Checkout</button> 2790 </div> 2791 </form> 2792 </div> 2793</div> 2794</div> 2795
2796<script src="https://cdn1.npcdn.net/scripts/qrcode/jquery.qrcode-0.12.0.min.js"></script>
vendor: 1 bytes, line 2796
2796
2797<script type="text/javascript"> 2798$('#whatsappCheckOutYes').on('click', function() { 2799 var whatsappPopupName= $('#whatsapp_popup_name').val(); 2800 var whatsappPopupContact= $('#whatsapp_popup_contact').val(); 2801 $.ajax({ 2802 type: "POST", 2803 url: '/ex_ajax/ex_whatsappExpress.php', 2804 dataType: "JSON", 2805 data: { 2806 cid: '22270', 2807 wcncsendername: whatsappPopupName, 2808 wcncsendercontact: whatsappPopupContact, 2809 lang:'cn' 2810 }, 2811 success: function(data) { 2812 if (data.error=='1'){ 2813 alertError(data.error_message) 2814 }else{ 2815 if (data.device == 'mobile') { 2816 window.location.replace(data.whatsappredirect); 2817 } else { 2818 var options = { 2819 render: 'canvas', 2820 ecLevel: 'L', 2821 text: data.whatsappredirect, 2822 size: 200, 2823 quiet: 2 2824 }; 2825 $('.expressWhatsappBody').html(data.whatsappqrcontent) //get content from ajax 2826 $('.whatsappqrcodehere').qrcode(options); //generate qr code 2827 } 2828 $('#whatsappCheckOutYes').hide(); 2829 } 2830 } 2831 }); 2832}) 2833</script>
2833 2834 2835 2836 2837<!--SP Modal --> 2838<div class="modal fade" id="special_requirment_detail_" tabindex="-1" role="dialog" aria-labelledby="specialRequirmentModalLabel" aria-hidden="true"> 2839<div class="modal-dialog modal-dialog-centered" role="document"> 2840 <div class="modal-content"> 2841 <div class="modal-header"> 2842 <h5 class="modal-title" id="exampleModalLabel"> <i class="far fa-comment" aria-hidden="true"></i> </h5> 2843 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 2844 <span aria-hidden="true">×</span> 2845</button> 2846 </div> 2847 <div class="modal-body" style="min-height: 10vh;"> 2848 2849 </div> 2850 </div> 2851</div> 2852</div> 2853 2854
2855<script> 2856var selectAll = false; 2857 2858function checkAll() { 2859 let y = $('.cart_itemv2 input:checkbox'); 2860 if (selectAll == false) { 2861 y.prop('checked', true); 2862 selectAll = true; 2863 } else { 2864 y.prop('checked', false); 2865 selectAll = false; 2866 } 2867} 2868 2869function editCart() { 2870 let y = $('.cart_itemv2 .checkbox'); 2871 let z = $('.cart_header .checkbox'); 2872 y.toggleClass('show'); 2873 z.toggleClass('show'); 2874 $('#delete_all_selected').toggleClass('show'); 2875} 2876</script>
2876 2877 2878<!-- Product Script -->
2879<script> 2880$('.plus_product').click(function() { 2881 changeValueInput($(this), "plus"); 2882}); 2883$('.minus_product').click(function() { 2884 changeValueInput($(this), "minus"); 2885}); 2886 2887function changeValueInput(obj, status) { 2888 t = obj.parent().parent().parent().find('.price'); 2889 u = obj.parent().parent().parent().find('.delete'); 2890 v = u.parent().parent().parent().find('.total_cart_item_price'); 2891 w = u.data('productId'); 2892 x = obj.parent().find('input'); 2893 y = parseInt(x.attr('max')); //number of max 2894 // y1 = parseInt(x.attr('min')); //number of min 2895 z = parseInt(x.val()); //number of quantity 2896 itemPrice = u.attr('data-product-price'); 2897 // Get Hole Sale Qty 2898 min = u.attr('data-whole-sale-min-qty'); 2899 max = u.attr('data-whole-sale-max-qty'); 2900 is_wholesale = u.attr('data-have-whole-sale'); 2901 carttype= u.attr('data-carttype'); 2902 2903 2904 if (z <= y && (status != 'minus' || z != 1)) { 2905 if (z != y) { 2906 reachMax = 'false'; 2907 if (status == "plus") { 2908 x.val(parseInt(x.val()) + 1); 2909 addItem(w, 1,carttype); 2910 } else { 2911 x.val(parseInt(x.val()) - 1); 2912 if (x.val() !== 1) { 2913 // currentQty = x.val(); 2914 removeItem(w, 1,carttype); 2915 } 2916 } 2917 } else { 2918 reachMax = 'false'; 2919 if (status != 'plus') { 2920 x.val(parseInt(x.val()) - 1); 2921 if (x.val() !== 1) { 2922 // currentQty = x.val(); 2923 removeItem(w, 1,carttype); 2924 } 2925 } else { 2926 reachMax = 'true'; 2927 } 2928 } 2929 2930 if ((x.val() <= min || (x.val() >= max)) && is_wholesale == 'true') { 2931 // $.ajax({ 2932 // type: "POST", 2933 // url: "/ex_ajax/ex_wholesaleAjax.php", 2934 // dataType: "JSON", 2935 // data: { 2936 // product_id: w, 2937 // qty: x.val(), 2938 // }, 2939 // success(data) { 2940 // itemPrice = data; 2941 // u.removeAttr('data-product-price'); 2942 // u.removeAttr('data-whole-sale-max-qty'); 2943 // u.removeAttr('data-whole-sale-min-qty'); 2944 // u.attr('data-product-price', itemPrice.price); 2945 // u.attr('data-whole-sale-max-qty', itemPrice.max); 2946 // u.attr('data-whole-sale-min-qty', itemPrice.min); 2947 // t.html('RM ' + " " + itemPrice.price); 2948 // //a = itemPrice.price; 2949 // //b = parseInt(x.val()); 2950 // //updateSinglePrice(v, b, a); 2951 // } 2952 // }); 2953 } else { 2954 // Change Prices 2955 if (reachMax != 'true') { 2956 if (itemPrice != -1) { 2957 let a = itemPrice; 2958 let b = parseInt(x.val()); 2959 updateSinglePrice(v, b, a); 2960 } 2961 } 2962 } 2963 2964 } else if (z == 1 && (status == 'minus')) { 2965 $('#deleteConfirmModel').modal('show'); 2966 $('#btn_confirm_delete').off('click').click(function() { 2967 confirmToDelete(w, carttype); 2968 }); 2969 return false; 2970 } else { 2971 if (status == 'minus' && (z > y)) { 2972 removeItem(w, 1,carttype); 2973 } 2974 // ; 2975 return false; 2976 } 2977} 2978 2979 2980 2981function confirmToDelete(w,carttype) { 2982 removeItem(w, 1,carttype); 2983 $('#deleteConfirmModel').modal('hide'); 2984 let targetItem = $('.delete[data-product-id="' + w + '"][data-carttype="'+carttype+'"]').closest('.cart_itemv2'); 2985 targetItem.addClass('fadeOutUp'); 2986 setTimeout(function() { 2987 targetItem.attr('style', 'display:none'); 2988 targetItem.removeClass('cart_itemv2'); 2989 //newUpdatePrice(data); 2990 }, 500); 2991} 2992 2993$('.delete').click(function() { 2994 var is_addon= $(this).data('isAddon'); 2995 var is_mnm= $(this).data('isMnm'); 2996 let w=''; 2997 if (is_addon=='yes'||is_mnm=='yes') { 2998 w = $(this).parent().parent().parent().parent(); 2999 }else{ 3000 w = $(this).parent().parent().parent(); 3001 } 3002 3003 let x = $(this).data('productId'); 3004 let y = $(this).parent().parent().find('input'); 3005 let z = y[1].value;
3006 let carttype= $(this).data('carttype'); 3007 3008 removeItem(x, z,carttype); 3009 let itemPrice = $(this).data('productPrice'); 3010 //Update Price 3011 if (itemPrice != -1) { 3012 let a = itemPrice * z; 3013 } 3014 3015 w.addClass('fadeOutUp'); 3016 setTimeout(function() { 3017 w.attr('style', 'display:none'); 3018 w.removeClass('cart_itemv2'); 3019 3020 }, 456); 3021}); 3022 3023$('.addon_sub_delete').click(function() { 3024 //delete addon product 3025 var sub_product_id= $(this).data('subProductId'); 3026 var main_product_id=$(this).data('mainProductId'); 3027 var sub_product_item=$(this).parent().parent().parent(); 3028 sub_product_item.addClass('fadeOutUp'); 3029 setTimeout(function() { 3030 sub_product_item.attr('style', 'display:none'); 3031 sub_product_item.removeClass('cart_itemv2'); 3032 }, 456); 3033 $.ajax({ 3034 type: "POST", 3035 url: "/ex_ajax/ex_ajaxAddOnUpdateCartItem.php", 3036 dataType: "JSON", 3037 data: { 3038 sub: sub_product_id, 3039 main: main_product_id, 3040 remove:'1' 3041 }, 3042 success(data) { 3043 newUpdatePrice(data) 3044 totalItem= data.total_products_items 3045 localStorage.setItem('cartTotal', JSON.stringify({ 3046 totalItem 3047 })); 3048 updateNoti(totalItem) 3049 } 3050 }) 3051}); 3052 3053function update_addonproductItem(action,itemId,mainProductId,subProductSubtotal) { 3054 var sub_product_id=itemId; 3055 var main_product_id=mainProductId; 3056 $.ajax({ 3057 type: "POST", 3058 url: "/ex_ajax/ex_ajaxAddOnUpdateCartItem.php", 3059 dataType: "JSON", 3060 data: { 3061 main: main_product_id, 3062 sub: sub_product_id, 3063 qty: '1', 3064 action:action 3065 }, 3066 success(data) { 3067 if (data.success!='1') { 3068 alertError(data.errorMessage); 3069 }else{ 3070 totalItem= data.total_products_items 3071 subProductSubtotal.html(data.get_single_addonproduct_subtotal) 3072 newUpdatePrice(data); 3073 localStorage.setItem('cartTotal', JSON.stringify({ 3074 totalItem 3075 })); 3076 updateNoti(totalItem) 3077 } 3078 } 3079 }) 3080} 3081 3082function subProductChangeValueInput(obj, status){ 3083 u = obj.parent().parent().parent().find('.addon_sub_delete'); 3084 subProductId = u.data('subProductId'); 3085 mainProductId= u.data('mainProductId'); 3086 3087 subProductSubtotal=obj.parent().parent().parent().find('.subaddon_total_cart_item_price'); 3088 //subProductSubtotal=obj.parent().parent().parent().find('.subaddon_total_cart_item_price').html('asdasd'); 3089 3090 x = obj.parent().find('input'); 3091 y = parseInt(x.attr('max')); //number of max 3092 z = parseInt(x.val()); //number of quantity 3093 // Get Hole Sale Qty 3094 is_wholesale = 'false'; 3095 3096 3097 if (z <= y && (status != 'minus' || z != 1)) { 3098 if (z != y) { 3099 reachMax = 'false'; 3100 if (status == "plus") { 3101 x.val(parseInt(x.val()) + 1); 3102 update_addonproductItem('+',subProductId,mainProductId,subProductSubtotal); 3103 } else { 3104 x.val(parseInt(x.val()) - 1); 3105 if (x.val() !== 1) { 3106 update_addonproductItem('-',subProductId,mainProductId,subProductSubtotal); 3107 } 3108 } 3109 } else { 3110 reachMax = 'false'; 3111 if (status != 'plus') { 3112 x.val(parseInt(x.val()) - 1); 3113 if (x.val() !== 1) { 3114 // currentQty = x.val(); 3115 update_addonproductItem('-',subProductId,mainProductId,subProductSubtotal); 3116 } 3117 } else { 3118 reachMax = 'true'; 3119 } 3120 } 3121 } else if (z == 1 && (status == 'minus')) { 3122 //for addon product delete with minus 3123 // $('#deleteConfirmModel').modal('show'); 3124 // $('#btn_confirm_delete').attr('onClick', 'confirmToDelete(' + '"' + subProductId + '"' + ')'); 3125 } else { 3126 if (status == 'minus' && (z > y)) { 3127 x.val(parseInt(x.val()) - 1); 3128 update_addonproductItem('-',subProductId,mainProductId,subProductSubtotal); 3129 } 3130 return false;
3131 } 3132} 3133 3134$('.addon_plus_product').click(function() { 3135 subProductChangeValueInput($(this), "plus"); 3136}); 3137 3138$('.addon_minus_product').click(function() { 3139 subProductChangeValueInput($(this), "minus"); 3140}); 3141 3142function addItem(itemId, addQty,carttype) { 3143 $.ajax({ 3144 type: "POST", 3145 url: "/ex_modules/ex_addToQuotation.php", 3146 dataType: "JSON", 3147 data: { 3148 product_id: itemId, 3149 qty: addQty, 3150 carttype: carttype 3151 }, 3152 success(data) { 3153 updateNoti(data.total_products_items) 3154 let totalItem = data.total_products_items; 3155 cart_totalItem = data.total_products_items; 3156 updateCartQty() 3157 localStorage.setItem('cartTotal', JSON.stringify({ 3158 totalItem 3159 })); 3160 newUpdatePrice(data) 3161 } 3162 }) 3163} 3164 3165function removeItem(itemId, removeQty,carttype) { 3166 $.ajax({ 3167 type: "POST", 3168 url: "/ex_modules/ex_addToQuotation.php", 3169 dataType: "JSON", 3170 data: { 3171 product_id: itemId, 3172 qty: removeQty, 3173 carttype: carttype, 3174 remove: '1' 3175 }, 3176 success(data) { 3177 if (data.removeVoucher == "true") { 3178 removeVoucher(); 3179 alertError(data.removeVoucherMsg) 3180 } 3181 if (data.removeShippingVoucher == "true") { 3182 removeVoucher(1); 3183 alertError(data.removeVoucherMsg) 3184 } 3185 updateNoti(data.total_products_items) 3186 let totalItem = data.total_products_items; 3187 cart_totalItem = data.total_products_items; 3188 updateCartQty(); 3189 if (totalItem == 0) { 3190 showEmptyCart(); 3191 } 3192 localStorage.setItem('cartTotal', JSON.stringify({totalItem})); 3193 newUpdatePrice(data) 3194 } 3195 }) 3196} 3197 3198function clearCart() { 3199 //team use only 3200 $.ajax({ 3201 type: "POST", 3202 url: "/ex_modules/ex_addToQuotation.php", 3203 dataType: "JSON", 3204 data: { 3205 clear: '1' 3206 }, 3207 success(data) { 3208 updateNoti(data.cart_totalItem) 3209 let totalItem = data.cart_totalItem; 3210 localStorage.setItem('cartTotal', JSON.stringify({ 3211 totalItem 3212 })); 3213 showEmptyCart(); 3214 } 3215 }) 3216} 3217 3218var removeList = []; 3219var removeListQty = []; 3220var selectedDeletePrice = []; 3221var removeListCartType=[]; 3222 3223function removeSelected() { 3224 removeList = []; 3225 removeListQty = []; 3226 selectedDeletePrice = []; 3227 removeListCartType=[]; 3228 checkSeletedItem(); 3229 removeItem(removeList.toString(), removeListQty.toString(),removeListCartType.toString()); 3230 addSeletedItemEff(); 3231} 3232 3233function checkSeletedItem() { 3234 let x = $('.cart_itemv2 .checkbox input'); 3235 var i; 3236 for (i = 0; i < x.length; i++) { 3237 let a = x.eq(i); 3238 if (a.is(":checked")) { 3239 let b = a.parent().parent().parent(); 3240 let c = b.find('.delete').eq(0).attr('data-product-id'); 3241 let d = b.find('.product_qty input').val(); 3242 let e = b.find('.delete').eq(0).attr('data-product-price'); 3243 let type = b.find('.delete').eq(0).attr('data-carttype'); 3244 let g = 0; 3245 if (e != -1) { 3246 let f = e * d; 3247 g = +f; 3248 } 3249 3250 removeList.push(c); 3251 removeListQty.push(d); 3252 selectedDeletePrice.push(g); 3253 removeListCartType.push(type); 3254 } 3255 }; 3256} 3257 3258function addSeletedItemEff() { 3259 let x = $('.cart_itemv2 .checkbox input'); 3260 var i; 3261 for (i = 0; i < x.length; i++) { 3262 let a = x.eq(i); 3263 if (a.is(":checked")) { 3264 let b = a.parent().parent().parent().parent().parent(); 3265 b.addClass("fadeOutUp"); 3266 // removeListQty.push(d); 3267 setTimeout(function() { 3268 b.removeClass("cart_itemv2"); 3269 b.attr("style", "display:none"); 3270 newUpdatePrice(data); 3271 }, 1000) 3272 } 3273 }; 3274} 3275</script>
3275 3276
3277<script> 3278var currentPrice = $('#cartCurrentPrice'); 3279var finalPrice = $('#cartFinalPrice'); 3280$(document).ready(function() { 3281 var cart_totalItem = "0"; 3282 if (cart_totalItem == 0) { 3283 showEmptyCart() 3284 } 3285}) 3286window.onresize = function() { 3287 stopper = $('#check_out_box').offset().top; 3288} 3289var stopper = $('#check_out_box').offset().top; 3290var checkOut = $('#check_out_box'); 3291 3292// Show Empty Cart 3293function showEmptyCart() { 3294 $('.emptyQuotationMsg').attr('style', 'display:block'); 3295 $('.check_out .btn-primary').attr('disabled', true); 3296} 3297// Check Selected Item Qty 3298$('.checkbox label').on('click', function() { 3299 removeList = []; 3300 selectedDeletePrice = []; 3301 checkSeletedItem(); 3302}); 3303// Change Current Cart Qty 3304function updateCartQty() { 3305 $('#currentSeleted').html(cart_totalItem); 3306} 3307 3308function newUpdatePrice(data){ 3309 3310 detectmincartprice(data.total_cart_amount_before_voucher_and_shipping); 3311 if (data.compulsory_additional_charge_list!=undefined){ 3312 $.each(data.compulsory_additional_charge_list, function(index, c_value) { 3313 $('#additional_charge_'+c_value.charge_id+'_'+index).html(c_value.str_charge_amount); 3314 }); 3315 } 3316 if (data.wholesales_productlist!=undefined){ 3317 $.each(data.wholesales_productlist, function(index, value) { 3318 $('#cartitem'+value.cart_product_id+'_'+value.cart_product_variant_id+' .cart_unit_price .price').html('RM '+value.cart_product_unit_price); 3319 $('#cartitem'+value.cart_product_id+'_'+value.cart_product_variant_id+' .cart_total_price .total_cart_item_price').html('RM '+value.cart_product_subtotal_price.toLocaleString('en-US', {minimumFractionDigits: 2})); 3320 }); 3321 } 3322 3323 if(data.str_total_member_points_discount!=undefined){ 3324 $('#memberPointsDiscountPrice').html('- '+data.str_total_member_points_discount); 3325 } 3326 3327 if (data.str_total_optional_additional_charge!=undefined){ 3328 $('#additional_charge_all_optional').html(data.str_total_optional_additional_charge); 3329 } 3330 3331 if (data.str_total_cart_amount_before_voucher_and_shipping != undefined) { 3332 $('#cartCurrentPrice').html(data.str_total_cart_amount_before_voucher_and_shipping); 3333 } 3334 if (data.str_total_voucher_discount != undefined) { 3335 $('#coupon_discount').html("- "+data.str_total_voucher_discount); 3336 } 3337 if (data.str_total_final_order_amount != undefined) { 3338 $('#cartFinalPrice').text(data.str_total_final_order_amount); 3339 } 3340 if (data.total_products_items != undefined) { 3341 $('#currentSeleted').text(data.total_products_items); 3342 } 3343} 3344 3345function detectmincartprice(total_cart_amount_before_voucher_and_shipping) { 3346 var carttotal = total_cart_amount_before_voucher_and_shipping; 3347 var min_cart_price = parseFloat('0.00'); 3348 if (min_cart_price > carttotal) { 3349 $('#checkoutbtnui').hide(); 3350 $('#mincartpriceui').show(); 3351 } else { 3352 $('#mincartpriceui').hide(); 3353 $('#checkoutbtnui').show(); 3354 } 3355} 3356 3357// Change Single Item Total Price 3358function updateSinglePrice(target, qty, singlePrice) { 3359 let x = target; 3360 let y = singlePrice; 3361 let c = parseFloat(y) * parseFloat(qty); 3362 let d = c.toFixed(2); 3363 y = parseFloat(d); 3364 x.text('RM' + " " + y.toLocaleString('en-US', { 3365 minimumFractionDigits: 2 3366 })); 3367 //update at single cart item 3368} 3369 3370// Remove Voucher 3371function removeVoucher(is_shipping_voucher) { 3372 $.ajax({ 3373 type: "POST", 3374 url: "/ex_ajax/ex_newvoucherAjax.php", 3375 dataType: "JSON", 3376 data: { 3377 removeVoucher: 1, 3378 is_shipping_voucher:is_shipping_voucher 3379 }, 3380 success(data) { 3381 let couponDiscount = $('#coupon_discount'); 3382 couponDiscount.attr('data-discount-type', ''); 3383 couponDiscount.attr('data-coupon-type', ''); 3384 couponDiscount.attr('data-discount-value', ''); 3385 couponDiscount.attr('data-minimum-amount', ''); 3386 couponDiscount.text('RM' + " 0.00"); 3387 3388 if (is_shipping_voucher=='1') { 3389 $('#shipping_voucher_detail').html(' '); 3390 $('.shipping_voucher_detail').removeClass('show'); 3391 }else{ 3392 $('#voucher_detail').html(' '); 3393 $('.voucher_detail').removeClass('show'); 3394 } 3395 3396 3397 $('#selectvoucher').show(); 3398 3399 newUpdatePrice(data); 3400 } 3401 }); 3402} 3403$('#vouchertextfield').keyup(function(e) { 3404 if (e.keyCode == 13) { 3405 addVoucher() 3406 } 3407}); 3408$("#addVoucherBtn").click(function() { 3409 addVoucher() 3410}); 3411 3412 3413$('#addressModal').on('show.bs.modal', function() { 3414 $('#checkOutFormModal').modal('hide'); 3415}); 3416 3417$('#addressModal').on('hidden.bs.modal', function() { 3418 $('#checkOutFormModal').modal('show'); 3419}); 3420 3421function addVoucher() { 3422 var code = $('#vouchertextfield').val(); 3423 $.ajax({ 3424 type: "POST", 3425 url: "/ex_ajax/ex_addPersonalVoucher.php", 3426 dataType: "JSON", 3427 data: { 3428 code: code, 3429 }, 3430 success(data) { 3431 if (data.status == 'failed') { 3432 alertError(data.msg) 3433 } else { 3434 alertSuccessful(data.msg) 3435 $.ajax({ 3436 type: "POST", 3437 url: '/ex_ajax/ex_getVoucherList.php', 3438 dataType: "JSON", 3439 success: function(data) { 3440 $("#voucher_list").html(data.voucherlist); 3441 if (data.shippingvoucherlist==null||data.shippingvoucherlist==''){ 3442 $("#shipping_voucher_section").hide(); 3443 }else{ 3444 $("#shipping_voucher_list").html(data.shippingvoucherlist); 3445 $("#shipping_voucher_section").show(); 3446 } 3447 3448 } 3449 }); 3450 } 3451 } 3452 }); 3453} 3454 3455function voucherSubmit() { 3456 let voucher = $('input[name="selectedVoucher"]:checked').data('couponcode'); 3457 let shipping_voucher = $('input[name="selectedShippingVoucher"]:checked').data('couponcode'); 3458 if (voucher!=null){ 3459 $.ajax({ 3460 type: "POST",
3461 url: "/ex_ajax/ex_newvoucherAjax.php", 3462 dataType: "JSON", 3463 data: { 3464 voucherCode: voucher, 3465 }, 3466 success(data) { 3467 if (data.error != '1') { 3468 let couponDiscount = $('#coupon_discount'); 3469 couponDiscount.attr('data-discount-type', data.discount_type); 3470 couponDiscount.attr('data-coupon-type', data.coupon_type); 3471 couponDiscount.attr('data-discount-value', data.discount); 3472 couponDiscount.attr('data-minimum-amount', data.minimum_amount); 3473 3474 //NP 2026-09-14 (security audit F2): coupon code/description are plain text - insert them as text 3475 //nodes instead of concatenating them into an HTML string, so a stored value can never run as markup. 3476 let voucherHtml = $('<div class="voucher_detail"><div class="title"></div><small><span class="des"><i class="fas fa-tag"></i> </span></small><div class="close" onclick="removeVoucher(0)"><i class="fas fa-window-close"></i></div></div>'); 3477 voucherHtml.find('.title').text(data.coupon_description); 3478 voucherHtml.find('.des').append(document.createTextNode(data.coupon_code)); 3479 3480 $('#voucher_detail').html(''); 3481 $('#voucher_detail').append(voucherHtml); 3482 let x = data; 3483 3484 newUpdatePrice(x) 3485 3486 3487 } else { 3488 alertError(data.errorMsg) 3489 } 3490 } 3491 }); 3492 } 3493 3494 if (shipping_voucher!=null){ 3495 $.ajax({ 3496 type: "POST", 3497 url: "/ex_ajax/ex_newvoucherAjax.php", 3498 dataType: "JSON", 3499 data: { 3500 voucherCode: shipping_voucher, 3501 }, 3502 success(data) { 3503 if (data.error != '1') { 3504 3505 //NP 2026-09-14 (security audit F2): same as the product voucher above - text nodes, not HTML concatenation. 3506 let shippingvoucherHtml = $('<div class="shipping_voucher_detail"><div class="title"></div><small><span class="des"><i class="fas fa-tag"></i> </span></small><div class="close" onclick="removeVoucher(1)"><i class="fas fa-window-close"></i></div></div>'); 3507 shippingvoucherHtml.find('.title').text(data.coupon_description); 3508 shippingvoucherHtml.find('.des').append(document.createTextNode(data.coupon_code)); 3509 3510 $('#shipping_voucher_detail').html(''); 3511 $('#shipping_voucher_detail').append(shippingvoucherHtml); 3512 $('#redeemed_shipping_voucher_desc').text(data.coupon_description); 3513 3514 } else { 3515 alertError(data.errorMsg) 3516 } 3517 } 3518 }); 3519 } 3520} 3521 3522$(document).ready(function() { 3523 var disabled_dates =[]; 3524 3525 $('.checkout_datepicker').on('change', function() { 3526 var selected_date = $(this).val(); 3527 3528 if ($.inArray(selected_date, disabled_dates) != '-1') { 3529 alert(selected_date + ' is not available for delivery, please select another date.'); 3530 3531 // Find the next available date 3532 var next_available_date = findNextAvailableDate(selected_date, disabled_dates); 3533 $('.checkout_datepicker').val(next_available_date); 3534 } 3535 }); 3536 3537 function findNextAvailableDate(date, disabled_dates) { 3538 var next_date = new Date(date); 3539 3540 // Increment the date until we find an available one 3541 while ($.inArray(formatDate(next_date), disabled_dates) != -1) { 3542 next_date.setDate(next_date.getDate() + 1); 3543 } 3544 3545 return formatDate(next_date); 3546 } 3547 3548 function formatDate(date) { 3549 var d = new Date(date); 3550 var month = '' + (d.getMonth() + 1); 3551 var day = '' + d.getDate(); 3552 var year = d.getFullYear(); 3553 3554 if (month.length < 2) month = '0' + month; 3555 if (day.length < 2) day = '0' + day; 3556 3557 return [year, month, day].join('-'); 3558 } 3559}); 3560</script>
3560 3561 3562<!-- Form Script -->
3563<script> 3564var currentTab = 0; // Current tab is set to be the first tab (0) 3565var asMember = "false"; 3566showTab(currentTab); // Display the current tab 3567 3568function showTab(n) { 3569 // This function will display the specified tab of the form ... 3570 var x = document.getElementsByClassName("form_tab"); 3571 x[n].style.display = "block"; 3572 // ... and fix the Previous/Next buttons: 3573 if (n == 0) { 3574 document.getElementById("prevBtn").style.display = "none"; 3575 document.getElementById("nextBtn").style.display = "inline"; 3576 document.getElementById("checkOutSubmitBtn").style.display = "none"; 3577 } else { 3578 document.getElementById("prevBtn").style.display = "inline"; 3579 document.getElementById("nextBtn").style.display = "inline"; 3580 document.getElementById("checkOutSubmitBtn").style.display = "none"; 3581 } 3582 if (n == (x.length - 1)) {; 3583 document.getElementById("nextBtn").style.display = "none"; 3584 document.getElementById("checkOutSubmitBtn").style.display = "block"; 3585 } else if (n == (0) && asMember == "false") { 3586 document.getElementById("nextBtn").innerHTML = 3587 'ä»¥è®¿å®¢èº«ä»½ç»§ç» <i class="fas fa-chevron-right"></i>'; 3588 } else { 3589 document.getElementById("nextBtn").innerHTML = 'ä¸ä¸æ¥ <i class="fas fa-chevron-right"></i>'; 3590 } 3591 3592 if (n == (1) || ( n ==(2) && asMember == "false") ) { 3593 copyNameToShipping(); 3594 } 3595 if ( ( (n == (3) || n == (2) ) && asMember == "false") || (n == (2) && asMember == "true") ) { 3596 3597 $('#useShippingAddress').prop("checked", true); 3598 copyShippingToBilling(); 3599 3600 } 3601 // ... and run a function that displays the correct step indicator: 3602 fixStepIndicator(n) 3603} 3604 3605function validateEmail($email) { 3606 var regex = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; 3607 if (!regex.test($email)) { 3608 return false; 3609 } else { 3610 return true; 3611 } 3612} 3613 3614function nextPrev(n) { 3615 // This function will figure out which tab to display 3616 var x = document.getElementsByClassName("form_tab"); 3617 total_tab=x.length 3618 // Exit the function if any field in the current tab is invalid: 3619 if (n == 1 && !validateForm()) return false; 3620 // Hide the current tab: 3621 x[currentTab].style.display = "none"; 3622 // Increase or decrease the current tab by 1: 3623 currentTab = currentTab + n; 3624 3625 showTab(currentTab); 3626 appendToShowAddress() 3627 if (currentTab==(total_tab-'1')){ 3628 shippingAddressCheck() 3629 } 3630 3631 3632} 3633 3634function validateForm() { 3635 // This function deals with validation of the form fields 3636 var x, y, i, valid = true; 3637 y = $('.form_tab input,textarea,select,input:radio').filter('[required]:visible'); 3638 // A loop that checks every input field in the current tab: 3639 for (i = 0; i < y.length; i++) { 3640 // If a field is empty... 3641 if (y[i].value == "") { 3642 // add an"invalid" class to the field: 3643 y[i].classList.add("is-invalid"); 3644 // and set the current valid status to false: 3645 valid = false; 3646 } else { 3647 y[i].classList.remove("is-invalid"); 3648 } 3649 if (y[i].type == "email") { 3650 if (!validateEmail(y[i].value)) { 3651 y[i].classList.add("is-invalid"); 3652 // and set the current valid status to false: 3653 valid = false; 3654 } 3655 } 3656 if (y[i].dataset.numberOnly == "true") { 3657 let numberFormat = /^[0-9_\-]+$/i; 3658 if (numberFormat.test(y[i].value) !== true) { 3659 y[i].classList.add("is-invalid"); 3660 // and set the current valid status to false: 3661 valid = false; 3662 } 3663 } 3664 if (y[i].type == "radio") { 3665 var pDiv = y.eq(i).parents(":eq(1)"); 3666 elem = pDiv; 3667 if (y[i].type == "radio") { 3668 if (pDiv.find("[type='radio']:checked").length > 0) { 3669 y.eq(i).parents(":eq(1)").removeAttr('style'); 3670 } else { 3671 y.eq(i).parents(":eq(1)").attr('style', 'color:red'); 3672 valid = false;
3673 } 3674 } 3675 } 3676 } 3677 3678 3679 // If the valid status is true, mark the step as finished and valid: 3680 if (valid) { 3681 document.getElementsByClassName("step")[currentTab].className += " finish"; 3682 } 3683 return valid; // return the valid status 3684} 3685 3686function fixStepIndicator(n) { 3687 // This function removes the"active" class of all steps... 3688 var i, x = document.getElementsByClassName("step"); 3689 for (i = 0; i < x.length; i++) { 3690 x[i].className = x[i].className.replace(" active", " "); 3691 } 3692 //... and adds the"active" class to the current step: 3693 x[n].className += " active"; 3694 let y = document.getElementById("checkOutLabel"); 3695 y.innerHTML = x[n].dataset.stepName; 3696} 3697 3698$('#useShippingAddress').on('change', function() { 3699 copyShippingToBilling() 3700}); 3701 3702function copyNameToShipping() { 3703 // Copy name if empty 3704 const name = $('#shippingName').val(); 3705 if ($('#shippingAddressName').val() === '') { 3706 $('#shippingAddressName').val(name); 3707 } 3708 3709 // Copy contact number if empty 3710 const contactNumber = $('#shippingContactNumber').val(); 3711 if ($('#shippingAddressContactNumber').val() === '') { 3712 $('#shippingAddressContactNumber').val(contactNumber); 3713 } 3714 3715 // // Copy country code using intlTelInput 3716 // if (typeof shippingITI !== 'undefined' && typeof shippingAddressITI !== 'undefined') { 3717 // const selectedCountryData = shippingITI.getSelectedCountryData(); 3718 // shippingAddressITI.setCountry(selectedCountryData.iso2); 3719 // } 3720} 3721 3722 3723function copyShippingToBilling() { 3724 if ($('#useShippingAddress').prop("checked") == true) { 3725 $('#billingAddressName,#billingAddressContactNumber,#billingAddressCompanyName,#billingAddress,#billingPostcode,#billingState,#billingCountry') 3726 .removeAttr('required'); 3727 $('#billingAddressName,#billingAddressContactNumber,#billingAddressCompanyName,#billingAddress,#billingPostcode,#billingState,#billingCountry') 3728 .attr('readonly', true); 3729 $('#billingAddressName').val($('#shippingAddressName').val()); 3730 $('#billingAddressContactNumber').val($('#shippingAddressContactNumber').val()); 3731 $('#billingAddressCompanyName').val($('#shippingAddressCompanyName').val()); 3732 $('#billingAddress').val($('#shippingAddress').val()); 3733 $('#billingPostcode').val($('#shippingPostcode').val()); 3734 if (($('#shippingState').val()!='')) { 3735 $('#billingState').val($('#shippingState').val()); 3736 } 3737 $('#billingCountry').val($('#shippingCountry').val()); 3738 // let e = document.getElementById("billingCountry"); 3739 // let f = document.getElementById("shippingCountry"); 3740 // let g = document.getElementById("shippingState"); 3741 // let h = document.getElementById("billingState"); 3742 // e.options[e.selectedIndex].value = f.options[f.selectedIndex].value; 3743 // e.options[e.selectedIndex].text = f.options[f.selectedIndex].text; 3744 // g.options[g.selectedIndex].value = h.options[h.selectedIndex].value; 3745 // g.options[g.selectedIndex].text = h.options[h.selectedIndex].text; 3746 $('#billingAddressName,#billingAddressContactNumber,#billingAddressCompanyName,#billingAddress,#billingPostcode,#billingState,#billingCountry') 3747 .removeClass('is-invalid'); 3748 } else { 3749 $('#billingAddressName,#billingAddressContactNumber,#billingAddressCompanyName,#billingAddress,#billingPostcode,#billingState,#billingCountry') 3750 .attr('required', 'required'); 3751 $('#billingAddressName,#billingAddressContactNumber,#billingAddressCompanyName,#billingAddress,#billingPostcode,#billingState,#billingCountry') 3752 .val(""); 3753 $('#billingAddressName,#billingAddressContactNumber,#billingAddressCompanyName,#billingAddress,#billingPostcode,#billingState,#billingCountry') 3754 .removeAttr('readonly'); 3755 } 3756} 3757 3758 3759function appendToShowAddress() { 3760 3761 let shippingName = $('#shippingAddressName').val() 3762 let shippingCompanyName = $('#shippingAddressCompanyName').val() 3763 let shippingContactNumber = $('#shippingAddressContactNumber').val() 3764 3765 if (shippingName == undefined) { 3766 shippingName = $('#shippingName').val() 3767 } 3768 3769 if (shippingContactNumber == undefined) { 3770 shippingContactNumber = $('#shippingContactNumber').val() 3771 } 3772 3773 let shippingAddress = $('#shippingAddress').val() 3774 let shippingPostcode = $('#shippingPostcode').val() 3775 let shippingState = $('#shippingState option:selected').text(); 3776 let shippingStateCode= $('#shippingState option:selected').val(); 3777 let shippingCountry = $('#shippingCountry option:selected').text(); 3778 let shippingCountryCode = $('#shippingCountry option:selected').val(); 3779 3780 // Dial code: the shipping-address phone field (and its intlTelInput instance) is removed when a 3781 // customized checkout form is used, so fall back to the basic-info phone instance, then the hidden code input. 3782 let shippingContactcode = "";
3783 let contactITI = (typeof shippingAddressITI !== "undefined" && shippingAddressITI) ? shippingAddressITI 3784 : ((typeof shippingITI !== "undefined" && shippingITI) ? shippingITI : null); 3785 if (contactITI) { 3786 let itiCountry = contactITI.getSelectedCountryData(); 3787 shippingContactcode = (itiCountry && itiCountry.dialCode) ? itiCountry.dialCode : ""; 3788 } else { 3789 shippingContactcode = $("#shippingAddressContactNumberCode").val() || $("#shippingContactNumberCode").val() || ""; 3790 } 3791 $('.address_area .name').html(shippingName); 3792 $('.address_area .company_name').html(shippingCompanyName); 3793 $('.address_area .contact_number').html(shippingContactcode+shippingContactNumber); 3794 $('.address_area .address_detail').html(shippingAddress); 3795 $('.address_area .postcode').html(shippingPostcode); 3796 $('.address_area .state').html(shippingState); 3797 $('.address_area .state').attr('data-statecode',shippingStateCode); 3798 $('.address_area .country').html(shippingCountry); 3799 $('.address_area .country').attr('data-countrycode',shippingCountryCode); 3800} 3801 3802// Check Delivery Option 3803function shippingAddressCheck() { 3804 3805 let a = $('.address_area .country').attr('data-countrycode'); 3806 let b = $('.address_area .state').attr('data-statecode'); 3807 let c = $('.address_area .postcode').html(); 3808 3809 if (a.length != 0 && b.length != 0 && c.length != 0) { 3810 $.ajax({ 3811 type: "POST", 3812 url: "/ex_ajax/ex_shippingAjax.php", 3813 dataType: "JSON", 3814 data: { 3815 country: a, 3816 stateid: b, 3817 postcode: c, 3818 }, 3819 beforeSend(data){ 3820 $('#full_screen_loading').removeClass('hide'); 3821 }, 3822 complete(data){ 3823 $('#full_screen_loading').addClass('hide'); 3824 }, 3825 success(data) { 3826 let z = $('#shippingOption'); 3827 z.html('') 3828 if (data.no_available_shipping=='1'){ 3829 $("#shippingOptionMessage").html('<span class="text-danger">No available shipping method.</span>'); 3830 }else{ 3831 $("#shippingOptionMessage").html(''); 3832 z.append(data.shipping_option_html); 3833 getDeliveryDesc() 3834 } 3835 } 3836 }); 3837 } else { 3838 return; 3839 } 3840 3841} 3842 3843function getDeliveryDesc() { 3844 let d = $('#deliveryDetails'); 3845 var selectedDeliveryId=$('#shippingOption').val(); 3846 if (selectedDeliveryId>'0'){ 3847 $.ajax({ 3848 type: "POST", 3849 url: "/ex_ajax/ex_ajaxGetDeliveryDescription.php", 3850 dataType: "JSON", 3851 data: { 3852 deliveryid: selectedDeliveryId, 3853 lang:'cn' 3854 }, 3855 beforeSend(data){ 3856 $('#full_screen_loading').removeClass('hide'); 3857 }, 3858 complete(data){ 3859 $('#full_screen_loading').addClass('hide'); 3860 }, 3861 success(data) { 3862 d.html(data.selectedDeliveryDescription); 3863 } 3864 }); 3865 } 3866} 3867 3868$('#shippingCountry').change(function() { 3869 var selectedShippingCountryID = $(this).val(); 3870 $.ajax({ 3871 type: "POST", 3872 url: "/ex_ajax/ex_ajaxGetStateForCheckout.php", 3873 dataType: "JSON", 3874 data: { 3875 countryid: selectedShippingCountryID 3876 }, 3877 beforeSend(data){ 3878 $('#full_screen_loading').removeClass('hide'); 3879 }, 3880 complete(data){ 3881 $('#full_screen_loading').addClass('hide'); 3882 }, 3883 success(data) { 3884 let z = $('#shippingState'); 3885 let billState = $('#billingState'); 3886 z.html(data.html) 3887 billState.html(data.html) 3888 } 3889 }); 3890}); 3891 3892$("#shippingAddress").focusout(function(){ 3893 var shippingAddressVal=$("#shippingAddress").val(); 3894 3895 $.ajax({ 3896 type: "POST", 3897 url: "/ex_ajax/ex_ajaxShippingAddressAutoSet.php", 3898 dataType: "JSON", 3899 data: { 3900 lang:'cn', 3901 shippingAddressVal: shippingAddressVal 3902 }, 3903 beforeSend(data){ 3904 $('#full_screen_loading').removeClass('hide'); 3905 }, 3906 complete(data){ 3907 $('#full_screen_loading').addClass('hide'); 3908 }, 3909 success(data) { 3910 3911 if (data.shippingCountry!='') { 3912 $("#shippingCountry").val(data.shippingCountry); 3913 } 3914 3915 if (data.shippingStateSelection!=''){ 3916 $("#shippingState").html(data.shippingStateSelection); 3917 } 3918 3919 if (data.shippingPostcode!='') { 3920 $("#shippingPostcode").val(data.shippingPostcode).change(); 3921 } 3922 3923 if (data.shippingState!='') { 3924 $("#shippingState").val(data.shippingState).change(); 3925 } 3926 3927 copyShippingToBilling(); 3928 } 3929 }); 3930}); 3931 3932 3933$('#billingCountry').change(function() { 3934 var selectedBillingCountryID = $(this).val(); 3935 $.ajax({ 3936 type: "POST", 3937 url: "/ex_ajax/ex_ajaxGetStateForCheckout.php", 3938 dataType: "JSON", 3939 data: { 3940 countryid: selectedBillingCountryID 3941 }, 3942 success(data) { 3943 let z = $('#billingState'); 3944 z.html(data.html) 3945 } 3946 }); 3947}); 3948</script>
vendor: 1 bytes, line 3948
3948
3949<script> 3950$("body").on("submit", "form", function() { 3951 $(this).submit(function() { 3952 return false; 3953 }); 3954 return true; 3955}); 3956</script>
3956 3957<!-- akha script for voucher list !--> 3958
3959<script type="text/javascript"> 3960$('#selectvoucher').on('click', function() { 3961 $.ajax({ 3962 type: "POST", 3963 url: '/ex_ajax/ex_getVoucherList.php', 3964 dataType: "JSON", 3965 success: function(data) { 3966 $("#voucher_list").html(data.voucherlist); 3967 if (data.shippingvoucherlist==null||data.shippingvoucherlist==''){ 3968 $("#shipping_voucher_section").hide(); 3969 }else{ 3970 $("#shipping_voucher_list").html(data.shippingvoucherlist); 3971 $("#shipping_voucher_section").show(); 3972 } 3973 $('[data-toggle="popover"]').popover({ 3974 trigger: "hover" 3975 }); 3976 } 3977 }); 3978}); 3979</script>
3979 3980 3981 3982 3983
3984<script> 3985 $('.bundle_qty_input').on("input", function(){ 3986 qty_input=$(this) 3987 if (qty_input.val()==''){ 3988 return; 3989 } 3990 if (qty_input.val()<='0'){ 3991 alertError('Cannot update to 0') 3992 return; 3993 } 3994 bundle_product_key=$(this).data('bundleProductKey'); 3995 bundle_qty=$(this).val() 3996 bundle_md5id=$(this).data('bundleMd5id'); 3997 3998 $.ajax({ 3999 type: "POST", 4000 url: '/ex_ajax/ex_ajaxMixNMatchBundleQty.php', 4001 dataType: "JSON", 4002 data:{ 4003 bundle_product_key: bundle_product_key, 4004 bundle_qty: bundle_qty, 4005 bundle_md5id: bundle_md5id, 4006 }, 4007 beforeSend(data){ 4008 $('#full_screen_loading').removeClass('hide'); 4009 }, 4010 complete(data){ 4011 $('#full_screen_loading').addClass('hide'); 4012 }, 4013 success: function(data) { 4014 //console.log(data) 4015 if (data.error=='1'){ 4016 alertError(data.msg) 4017 qty_input.val(data.prev) 4018 return; 4019 }else{ 4020 if (data.action=='+'){ 4021 addItem(data.productid, data.update_qty,'cart'); 4022 }else{ 4023 removeItem(data.productid, data.update_qty,'cart'); 4024 } 4025 4026 mnm_product_price =qty_input.parent().parent().parent().parent().parent().find('.total_cart_item_price'); 4027 mnm_product_price.html(data.total_bundle_price) 4028 4029 mnm_product_qty=qty_input.parent().parent().parent().parent().parent().find('.product_qty input'); 4030 mnm_product_qty.val(data.total_bundle_qty) 4031 4032 mnm_bundle_total=qty_input.parent().find('.mnm_bundle_total'); 4033 mnm_bundle_total.html(data.update_bundle_unit_price) 4034 4035 } 4036 } 4037 }); 4038 }) 4039</script>
4039 4040 4041 4042<link rel="stylesheet" href="https://scss.npcdn.net/ex_cusscss/intlTelInput.css?ref=3"/>
4043<script src="https://scss.npcdn.net/ex_cusscss/intlTelInput.min.js?ref=3"></script>
vendor: 1 bytes, line 4043
4043
4044<script> 4045 let shippingITI, shippingAddressITI, billingITI; 4046 4047 document.addEventListener("DOMContentLoaded", function () { 4048 4049 const shippingInput = document.querySelector("#shippingContactNumber"); 4050 if (shippingInput) { 4051 shippingITI = window.intlTelInput(shippingInput, { 4052 initialCountry: "my", 4053 separateDialCode: true, 4054 strictMode: true, 4055 nationalMode: false, 4056 utilsScript: "https://cdn.jsdelivr.net/npm/[email protected]/build/js/utils.js" 4057 }); 4058 updateCountryCode(shippingITI, "#shippingContactNumberCode"); 4059 4060 4061 shippingInput.addEventListener("countrychange", function () { 4062 updateCountryCode(shippingITI, "#shippingContactNumberCode"); 4063 4064 const countryCode = shippingITI.getSelectedCountryData().iso2; 4065 if (shippingAddressITI) { 4066 shippingAddressITI.setCountry(countryCode); 4067 } 4068 if (billingITI) { 4069 billingITI.setCountry(countryCode); 4070 } 4071 }); 4072 } 4073 4074 const shippingAddrInput = document.querySelector("#shippingAddressContactNumber"); 4075 if (shippingAddrInput) { 4076 shippingAddressITI = window.intlTelInput(shippingAddrInput, { 4077 initialCountry: "my", 4078 separateDialCode: true, 4079 strictMode: true, 4080 nationalMode: false 4081 }); 4082 updateCountryCode(shippingAddressITI, "#shippingAddressContactNumberCode"); 4083 4084 shippingAddrInput.addEventListener("countrychange", function () { 4085 updateCountryCode(shippingAddressITI, "#shippingAddressContactNumberCode"); 4086 }); 4087 } 4088 4089 4090 const billingInput = document.querySelector("#billingAddressContactNumber"); 4091 if (billingInput) { 4092 billingITI = window.intlTelInput(billingInput, { 4093 initialCountry: "my", 4094 separateDialCode: true, 4095 strictMode: true, 4096 nationalMode: false, 4097 }); 4098 updateCountryCode(billingITI, "#billingAddressContactNumberCode"); 4099 4100 billingInput.addEventListener("countrychange", function () { 4101 updateCountryCode(billingITI, "#billingAddressContactNumberCode"); 4102 }); 4103 } 4104 4105 4106 function updateCountryCode(itiInstance, hiddenInputSelector) { 4107 const code = itiInstance.getSelectedCountryData().dialCode; 4108 const hiddenInput = document.querySelector(hiddenInputSelector); 4109 if (hiddenInput) { 4110 hiddenInput.value = code; 4111 } 4112 } 4113 }); 4114</script>
vendor: 1 bytes, line 4114
4114
4115<script> 4116$(document).ready(function () { 4117 $(document).on("change", ".cart-item-qty-input", function () { 4118 let $this = $(this); 4119 4120 let cartProductId = $this.data("cart-item-product-id"); 4121 let cartVariantId = $this.data("cart-item-productvariant-id"); 4122 let cartProductKey = $this.data("cart-item-product-key"); 4123 let newQty = parseInt($this.val()); 4124 4125 // Safety check 4126 if (isNaN(newQty) || newQty < 1) { 4127 newQty = 1; 4128 $this.val(newQty); 4129 } 4130 4131 $.ajax({ 4132 type: "POST", 4133 url: "/ex_ajax/ex_ajaxUpdateCartQty.php", 4134 dataType: "JSON", 4135 data: { 4136 product_id: cartProductId, 4137 variant_id: cartVariantId, 4138 cart_product_key: cartProductKey, 4139 qty: newQty 4140 }, 4141 beforeSend(data){ 4142 $('#full_screen_loading').removeClass('hide'); 4143 }, 4144 complete(data){ 4145 $('#full_screen_loading').addClass('hide'); 4146 }, 4147 success: function (data) { 4148 console.log(data) 4149 if (data.errorMsg) { 4150 alertError(data.errorMsg); 4151 $this.val(data.final_qty); 4152 } else { 4153 // Use same update pattern as addItem() 4154 updateNoti(data.total_products_items); 4155 let totalItem = data.total_products_items; 4156 cart_totalItem = data.total_products_items; 4157 updateCartQty(); 4158 localStorage.setItem("cartTotal", JSON.stringify({ totalItem })); 4159 newUpdatePrice(data); // refresh subtotal, discount, final total 4160 } 4161 4162 // Update price per row 4163 let $cartRow = $this.closest(".cart_itemv2"); 4164 if (data.product_pricing_update) { 4165 if (data.product_pricing_update.cart_product_unit_price) { 4166 $cartRow.find(".cart_unit_price .price") 4167 .text(data.product_pricing_update.cart_product_unit_price); 4168 } 4169 if (data.product_pricing_update.cart_product_subtotal_price) { 4170 $cartRow.find(".total_cart_item_price") 4171 .text(data.product_pricing_update.cart_product_subtotal_price); 4172 } 4173 } 4174 }, 4175 error: function () { 4176 alertError("Error updating cart. Please try again."); 4177 } 4178 }); 4179 }); 4180}); 4181</script>
4181 4182 4183 </div> 4184 </div></div></div></div></div></div><footer class="footer_type4"> 4185 <div class="container pt-3"> 4186 <div class="row"> 4187 <!-- Colum 1 --> 4188 <div class="col-md-3 mb-3 mb-lg-0 left_line"> 4189 <h6 class="all_font_md footer_subtitle">Sia Traditional Chinese Medicine</h6> 4190 <p>ä¿ ä¸å» - æä»¬çä¸å»æ²»çå æ¬ï¼ä¸å»æ´éª¨ãæ¨æ¿æ²»çãéç¸ãè¾ç¸ãæç«ç½ãå®ç§ç¾å®¹ãéç¸ç¾å®¹çã</p> 4191 4192 <div class="w-100 my-3 text-left p-0"> 4193 <div class="npfooter_languagebar"> 4194 <span><small class="">è¯è¨:</small></span> 4195 4196 <a class="col p-0 footer_langbar_item" href="/en/checkout/">EN</a> <span class="mx-2 languagebar_divider">|</span> 4197 4198 <a class="col p-0 footer_langbar_item" href="/checkout/">䏿</a> <span class="mx-2 languagebar_divider">|</span> 4199 4200 </div> 4201 </div> 4202 4203 </div> 4204 <!-- Colum 1 End--> 4205 <!-- Colum 2 --> 4206 <div class="col-md-3 mb-3 mb-lg-0 left_line"> 4207 <h6 class="all_font_md footer_subtitle">èç³»æä»¬</h6> 4208 <ul class="list-unstyled"> 4209 4210 <li> 4211 <p class="w-100"> 4212 <a class="float-right w-100" href="tel:+6010-824 7333" rel="nofollow"> 4213 +6010-824 7333 4214 </a> 4215 </p> 4216 </li> 4217 4218 <li> 4219 <p class="w-100"> 4220 <a class="float-right w-100" href="mailto:[email protected]"> 4221 [email protected] 4222 </a> 4223 </p> 4224 </li> 4225 4226 </ul> 4227 4228 <ul class="social_media pt-3"> 4229 4230 <li> 4231 <a href="https://www.facebook.com/siatcm" target="_blank"> 4232 <span class="fa-stack"> 4233 <i class="fas fa-circle fa-stack-2x"></i> 4234 <i class="fab fa-facebook-f fa-stack-1x fa-inverse"></i> 4235 </span> 4236 </a> 4237 </li> 4238 4239 <li> 4240 <a href="https://www.instagram.com/siatcm" target="_blank"> 4241 <span class="fa-stack"> 4242 <i class="fas fa-circle fa-stack-2x"></i> 4243 <i class="fab fa-instagram fa-stack-1x fa-inverse"></i> 4244 </span> 4245 </a> 4246 </li> 4247 4248 4249 <li> 4250 <a href="https://www.tiktok.com/@siatcm?_t=ZS-8tEx1FZhQC8&_r=1" target="_blank"> 4251 <span class="fa-stack"> 4252 <i class="fas fa-circle fa-stack-2x"></i> 4253 <i class="fab fa-tiktok fa-stack-1x fa-inverse"></i> 4254 </span> 4255 </a> 4256 </li> 4257 4258 4259 4260 4261 4262 4263 4264 4265 </ul> 4266 </div> 4267 <!-- Colum 2 End --> 4268 <!-- Colum 3 --> 4269 <div class="col-md-3 mb-3 mb-lg-0 left_line"> 4270 <h6 class="all_font_md footer_subtitle">产ååç±»</h6> 4271 4272 <ul class="list-unstyled"> 4273 4274 <li> 4275 <a href="/ourproducts/cid/329684/"> 4276 <p> 4277 è¯æ 4278 </p> 4279 </a> 4280 </li> 4281 4282 <li> 4283 <a href="/ourproducts/cid/429420/"> 4284 <p> 4285 䏿¨æ 4286 </p> 4287 </a> 4288 </li> 4289 4290 <li> 4291 <a href="/ourproducts/cid/332132/"> 4292 <p> 4293 æ²»çé å¥(ä¹°6é1ï¼ 4294 </p> 4295 </a> 4296 </li> 4297 4298 </ul> 4299 </div> 4300 <!-- Colum 3 End --> 4301 <!-- Colum 4 --> 4302 <div class="col-md-3 mb-3 mb-lg-0"> 4303 <h6 class="all_font_md footer_subtitle">è®¢é æ¶æ¯</h6> 4304 <p>è¾å ¥ä½ ççµåé®ä»¶ä»¥è·å¾ææ°çä¿é䏿¶æ¯ã</p> 4305 <input type="email" class="form-control mt-3" id="subscribeEmail" name="subscribeEmail"> 4306 <input style="float: left;" type="submit" onclick="subscribeNow()" class="btn btn-primary mt-3" value="订é "> 4307 4308 </div> 4309 <!-- Colum 4 End --> 4310 4311 <div class="col-12 mt-5"> 4312 <div class="copy_right text-center"> 4313 <p class="mb-1">Ⓒ 2020-2026 <b>Sia Traditional Chinese Medicine</b> <small>201403179282 (JM0694590-V)</small> 4314 4315 <p class="mb-1" style="display: inline;"> 4316 游è§ç : <div class='platinum_website_visitor'></div> 4317 </p> 4318 4319 <p class="text-center py-1"> 4320 <a href="/privacypolicy" class="privacy_policy pl-3">éç§æ¡è§</a> 4321 4322 4323 <a href="/terms" class="footer_terms pl-3">æ¡è§&æ¡ä»¶</a> 4324 4325 4326 4327 </p> 4328 </div> 4329 <div class="text-center mt-1"> 4330 <small>Powered by <a href="https://www.newpages.com.my/v2/en/company/731547/index.html" target="_blank">NEWPAGES</a></small> 4331 </div> 4332 </div> 4333 </div> 4334 </div> 4335 4336</footer> 4337 4338<!--
4338<script> 4339 // var subscribeMailformat = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/; 4340 var subscribeEmailField = document.getElementById("subscribeEmail"); 4341 subscribeEmailField.addEventListener("keyup", function(event) { 4342 if (event.keyCode == 13) { 4343 subscribeNow() 4344 } 4345 }); 4346 4347 function subscribeNow() { 4348 let x = $('#subscribeEmail').val(); 4349 $.ajax({ 4350 type: "POST", 4351 url: "/ex_ajax/ex_subscribeMailAjax.php", 4352 dataType: "JSON", 4353 data: { 4354 subscribeEmail: x, 4355 }, 4356 success(data) { 4357 if (data.success == "true") { 4358 alertSucess(data.string) 4359 } else { 4360 alertUnsucess(data.string); 4361 } 4362 4363 } 4364 }) 4365 } 4366</script>
4366 --> 4367<div class="floating_menu"> 4368 <div class="menu container-fluid align-self-center"> 4369 <div class="row align-self-center"> 4370 4371 <div class="col-4 text-center my-3"> 4372 <a data-type=2 href="tel:+60108247333" id="Direct Call" class="contactRecordBtn btn mx-auto "> 4373 <i class="fas fa-phone"></i> 4374 </a> 4375 <p class="mx-auto">Direct Call</p> 4376 </div> 4377 4378 <div class="col-4 text-center my-3"> 4379 <a data-type=5 href="https://www.facebook.com/siatcm" id="Facebook" class="contactRecordBtn btn mx-auto "> 4380 <i class="fab fa-facebook"></i> 4381 </a> 4382 <p class="mx-auto">Facebook</p> 4383 </div> 4384 4385 <div class="col-4 text-center my-3"> 4386 <a data-type=6 href="mailto:[email protected]" id="Email Us" class="contactRecordBtn btn mx-auto "> 4387 <i class="fas fa-envelope"></i> 4388 </a> 4389 <p class="mx-auto">Email Us</p> 4390 </div> 4391 4392 <div class="col-4 text-center my-3"> 4393 <a href="https://wa.me/60108247333?text=%E5%9C%B0%E5%9D%80Address%EF%BC%9A%0D%0ASaleng%E9%97%A8%E5%BA%97%3A1374-A%2CJLN%20CERMAI%207%2CTMN%20MESRA%20SALENG.%0D%0AMasai%E9%97%A8%E5%BA%97%3A9%2C%20JLN%20KOTA%203%2F1%2C%20TMN%20CAHAYA%20KOTA%20PUTERI%2081750%2C%20MASAI%2C%20JOHOR.%0D%0A%0D%0A%E7%94%B5%E8%AF%9DTel%28Saleng%29%20%3A%20010-8247333%0D%0A%E7%94%B5%E8%AF%9DTel%28Masai%29%3A018-2089333 (https://www.siatcm.com.my/checkout/)" id="WhatsApp Us" class="contactRecordBtn btn mx-auto "> 4394 <i class="fab fa-whatsapp"></i> 4395 </a> 4396 <p class="mx-auto">WhatsApp Us</p> 4397 </div> 4398 4399 <div class="col-4 text-center my-3"> 4400 <a href="https://www.tiktok.com/@siatcm?_t=ZS-8tEx1FZhQC8&_r=1" id="TikTok" class="contactRecordBtn btn mx-auto "> 4401 <i class="fab fa-tiktok"></i> 4402 </a> 4403 <p class="mx-auto">TikTok</p> 4404 </div> 4405 4406 4407 <div class="col-4 text-center my-3"> 4408 <a href="https://www.instagram.com/siatcm" target="_blank" rel="me" class=" btn mx-auto "> 4409 <i class="fab fa-instagram"></i> 4410 </a> 4411 <p class="mx-auto">Instagram</p> 4412 </div> 4413 4414 4415 <div class="col-4 text-center my-3"> 4416 <a href="/checkout/" class="btn mx-auto"> 4417 <i class="fas fa-shopping-cart"></i> 4418 <span class="badge" style="display:none;">0</span> 4419 </a> 4420 <!-- <span class="badge">0</span> --> 4421 <p class="mx-auto">è´ç©è½¦</p> 4422 </div> 4423 4424 4425 <div class="col-4 text-center my-3"> 4426 <a href="/login/" class="btn mx-auto"> 4427 <i class="fas fa-user"></i> 4428 </a> 4429 <p class="mx-auto">Login</p> 4430 </div> 4431 4432 4433 4434 4435 </div> 4436 </div> 4437</div> 4438 4439 4440<div class="toggle_btn" style="display: none;"> 4441 <a class="btn"> 4442 <span class="badge" style="display:none;">0</span> 4443 <div class="toggle_btn_contactus" > 4444 <i class="fa fa-bars" id='fa_close' aria-hidden="true"></i> 4445 4446 <i class="fab fa-whatsapp"></i> 4447 4448 4449 <i class="far fa-envelope hide_fa"></i> 4450 4451 4452 <i class="fa fa-phone hide_fa"></i> 4453 4454 </div> 4455 </a> 4456<!-- --> 4457</div>
4458<script> 4459 var floatingMenuStatus = false; 4460 var flag = false; 4461 function showMyMenu() { 4462 $('.floating_menu').toggleClass('show'); 4463 let y = ' fa-times'; 4464 if (!floatingMenuStatus) { 4465 $('.toggle_btn a .fa-bars').addClass(y); 4466 $('body').addClass('lock'); 4467 floatingMenuStatus = true; 4468 } else { 4469 $('.toggle_btn a .fa-bars').removeClass(y); 4470 $('body').removeClass('lock'); 4471 floatingMenuStatus = false; 4472 } 4473 } 4474 $(document).ready(function() { 4475 $(".toggle_btn").css({"display":'block'}); 4476 $(".floating_menu").click(function() {showMyMenu();}); //FOR OUTER CLOSE 4477 $('.toggle_btn .btn').click(function() {showMyMenu();}); 4478 }) 4479</script>
4479 4480 4481 4482 4483 4484 4485 4486 4487 4488<div class="dropdown np_language_btn"> 4489 <div class="dropdown_btn d-flex" id="language_dropdown"> 4490 4491 <a class="col p-0" href="/en/checkout/">EN</a> <span class="mx-2">|</span> 4492 <a class="col p-0" href="/checkout/">䏿</a> <span class="mx-2">|</span> 4493 </div> 4494</div> 4495 4496 4497 4498 4499<div id="toTop"> 4500 <div class="d-flex justify-content-center h-100"> 4501 <i class="fas fa-angle-up fa-2x my-auto"></i> 4502 </div> 4503</div> 4504<!-- Scroll to Top -->
4505<script> 4506 $(window).scroll(function() { 4507 if ($(this).scrollTop()) { 4508 $('#toTop').fadeIn(); 4509 } else { 4510 $('#toTop').fadeOut(); 4511 } 4512 }); 4513 $("#toTop").click(function() { 4514 $("html, body").animate({ 4515 scrollTop: 0 4516 }, 1000); 4517 }); 4518</script>
vendor: 1 bytes, line 4518
4518
4519<script type="text/javascript"> 4520 $(document).ready(function() { 4521 if ($('.janimate').length > 0) { 4522 $('.janimate').each(function() { 4523 $(this).addClass("hidden").viewportChecker(); 4524 }); 4525 } 4526 }); 4527</script>
4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541<!-- Scroll Effect Aos Script -->
4542<script> 4543 $(function() { AOS.init({ 4544 once: false 4545 });}); 4546 window.addEventListener('load', function() { 4547 AOS.refresh(); 4548 }); 4549</script>
vendor: 1 bytes, line 4549
4549
4550<script src="https://scss.npcdn.net/ex_cusscss/np_popper.min.js?ref=1" async></script>
4550 4551<!--
4551<script src="https://scss.npcdn.net/ex_cusscss/np_jquery-ui.js?ref=1" async></script>
4551 --> 4552<!--
4552<script src="https://scss.npcdn.net/ex_cusscss/np_jquery.ui.touch-punch.min.js"></script>
4552 --> 4553 4554
4555<script> 4556 if ($('#subscribeEmail').length) { 4557 var subscribeEmailField = document.getElementById("subscribeEmail"); 4558 subscribeEmailField.addEventListener("keyup", function(event) { 4559 if (event.keyCode == 13) { 4560 subscribeNow() 4561 } 4562 }); 4563 function subscribeNow() { 4564 let x = $('#subscribeEmail').val(); 4565 $.ajax({ 4566 type: "POST", 4567 url: "/ex_ajax/ex_subscribeMailAjax.php", 4568 dataType: "JSON", 4569 data: { 4570 subscribeEmail: x, 4571 }, 4572 success(data) { 4573 if (data.success == "true") { 4574 alertSucess(data.string) 4575 } else { 4576 alertUnsucess(data.string); 4577 } 4578 4579 } 4580 }) 4581 } 4582 } 4583</script>
4583 4584
4585<script type='text/javascript'> 4586 4587 4588 4589 //get visitor by ajax 4590 $.ajax({ 4591 type: 'POST', 4592 url: "/ex_ajax/ex_ajaxGetPlatinumVisitor.php", 4593 dataType: "JSON", 4594 success: function(data) { 4595 $(".platinum_website_visitor").html(data.visitor); 4596 } 4597 }); 4598 4599 4600 $('body').on("click", ".contactRecordBtn", function() { 4601 var cid = '22270'; 4602 var type = $(this).data('type'); 4603 // TrueLead: pass the clicked WhatsApp link so the server can fingerprint 4604 // the exact prefill text + target number (dynamic per button/page) 4605 var waLink = $(this).attr('href') || ''; 4606 if (waLink.indexOf('wa.me') === -1 && waLink.indexOf('api.whatsapp.com') === -1) { 4607 waLink = ''; 4608 } 4609 $.ajax({ 4610 type: 'POST', 4611 url: "/ex_contactlink_ajax.php", 4612 data: { 4613 company_id: cid, 4614 type: type, 4615 url:'https://www.siatcm.com.my/checkout/', 4616 wa_link: waLink 4617 }, 4618 success: function(data) { 4619 }, 4620 complete: function(data) { 4621 } 4622 }); 4623 4624 }); 4625</script>
4625 4626 4627 </body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.