PDA

View Full Version : کم کردن ايندکس المنت سلکت



the Dead
دوشنبه 31 تیر 1392, 08:17 صبح
کم کردن ایندکس المنت سلکت با کليک کردن بر يک باتن
من يه هم چين چيزی استفاده کردم برای بالا رفتن تو ليست
$('#selectBox option:eq('+$("#selectt").prop("selectedIndex")-1+'3)').prop('selected', true);
دو تا سوال ابتدايی
1. کانکت(پيوست يک مقدار به تکست) تو جی کوری با + انجام ميشه؟
2. چيزی به نام عدد يا اينتيجر در جی کوری داريم که با -1 بشه کمش کرد؟

the Dead
دوشنبه 31 تیر 1392, 08:39 صبح
کم کردن ایندکس المنت سلکت با کليک کردن بر يک باتن
من يه هم چين چيزی استفاده کردم برای بالا رفتن تو ليست
$('#selectBox option:eq('+$("#selectt").prop("selectedIndex")-1+'3)').prop('selected', true);
دو تا سوال ابتدايی
1. کانکت(پيوست يک مقدار به تکست) تو جی کوری با + انجام ميشه؟
2. چيزی به نام عدد يا اينتيجر در جی کوری داريم که با -1 بشه کمش کرد؟
خودم جواب سوالم رو بدم


<input id="up" type="button" value="Up" />
<input id="down" type="button" value="down" />
<select id="chart">
<option value="red">Red</option>
<option value="blue">Blue</option>
<option value="green">Green</option>
</select>
$(document).ready(function(){
$("#up").click(function(){
var a = $("#chart option:selected").prev();

if(a.length != 0)
a.prop("selected", "selected");
});

$("#down").click(function(){
var a = $("#chart option:selected").next();

if(a.length != 0)
a.prop("selected", "selected");
});
});

لقمرو بد داشتم ميپيچوندم



دو تا سوال ابتدايی
1. کانکت(پيوست يک مقدار به تکست) تو جی کوری با + انجام ميشه؟
2. چيزی به نام عدد يا اينتيجر در جی کوری داريم که با -1 بشه کمش کرد؟
ولی اين دو تا سوال رو هنوز دارم

jalil_gh
دوشنبه 31 تیر 1392, 11:57 صبح
۱. بله. تو جاوااسکریپت برای کانکت کردن از علامت بعلاوه استفاده میشه.
۱. تو جاوااسکریپت بر خلاف خیلی از زبان‌ها نوع متغیر وقتی تعیین میشه که مقداری رو بهش بدی و کلمه کلیدی به عنوان int یا float و ... برای تعریف نوع متغیر وجود نداره. به مثال‌ زیر دقت کنید:
var x = 10;
اینجا وقتی شما مقدار 10 رو به متغیر x نسبت میدید نوع اون از نوع integer تعیین میشه.

the Dead
دوشنبه 31 تیر 1392, 13:46 عصر
بیشتر سوالم اینجاس

$('#selectBox option:eq('+$("#selectt").prop("selectedIndex")-1+')').prop('selected', true);
تو اين کد قسمت قرمز ايندکسی از المنت سلکت که در حال حاظر انتخاب شده را بر ميگرداند
و يکی هم ازش کم ميکنه و با دستور ديگری که در داخل آن NEST شدهT، ايتم سلکت شده را يکی بالاتر
ميبرد
به لحاظ سينتکس درسته؟
به لحاظ عملی چطور؟
مرسی

jalil_gh
دوشنبه 31 تیر 1392, 14:28 عصر
از لحاظ سینتکس تو جاوااسکریپت درسته ولی از نظر عملی درست کار نمیکنه چون تو جمع کردن یک رشته و یک عدد، اول عدد به رشته تبدیل میشه و سپس این دوتا با هم کانکت میشن. برای اینکه بهتر درک کنید میتونید کد زیر رو تو کنسول مرورگر امتحان کنید.
"(" + 1 + 1 + ")"
این کد برخلاف انتظار مقدار "(11)" رو چاپ میکنه نه "(2)"
برای اینکه حالت دوم بدست بیاد شما باید مقدار محاسبه عددی رو داخل پرانتز قرار بدید.
"(" + ( 1 + 1 ) + ")"
با این اوصاف اگه شما کدتون رو به این صورت بنویسید درست در میاد. (‌البته با توجه به html که بالا قرار دادید)
$('#chart option:eq(' + ($("#chart").prop("selectedIndex") - 1) + ')').prop('selected', true)