मैंने इस समस्या को कभी नहीं देखा है। वह डिफ़ॉल्ट मान काम करना चाहिए। मैं कहूंगा कि कुंजी को एक स्ट्रिंग बनाने की कोशिश करें और #default_value
एक स्ट्रिंग के रूप में सेट करें । #options
सरणी के माध्यम से पारित किया जा रहा हो सकता है array_merge
कहीं न कहीं, इस प्रकार पूर्णांक कुंजी rekeying। यदि चाबियाँ तार हैं तो ऐसा नहीं होना चाहिए। वर्तमान में, आपका सरणी इस तरह दिखता है:
$options = array(
0 => '0',
500 => '500',
1000 => '1000',
);
लेकिन उस सरणी से होकर गुजरना array_merge
उन पूर्णांक कुंजियों को क्रमबद्ध क्रम में रखना हो सकता है:
$options = array(
0 => '0',
1 => '500',
2 => '1000',
);
यदि ऐसा होता है, तो 500
कुंजी बस मौजूद नहीं है। ऐसा इसलिए है क्योंकि array_merge
पूर्णांक कुंजियों को संरक्षित करना पसंद नहीं है, लेकिन आप इसे रोकने के लिए तार का उपयोग कर सकते हैं। इसलिए, मुझे लगता है कि आपकी सरणी इस तरह दिखनी चाहिए:
$options = array(
'0' => '0',
'500' => '500',
'1000' => '1000',
);
तब आप अपना सेट कर सकते हैं #default_value
:
$form['price']['min']['#default_value'] = '500';
अन्यथा, वहाँ कहीं और है जहाँ अति default_value
हो सकता है?