我出于某种原因我没有得到这个。我尝试了各种使用引号等方法,但到目前为止没有任何工作。
我传递给网页的网址是:
http://dev.bizzocall.com/indx-signup.php?plan= '#的Flexi' 我也试过了
http://dev.bizzocall.com/indx-signup.php?plan=#Flexi
http://dev.bizzocall.com/indx-signup.php?plan=Flexi
http://dev.bizzocall.com/indx-signup.php?plan='Flexi'
(并以不同方式编写switch语句以容纳差异......
我错过了什么?
(function($) {
$.QueryString = (function(a) {
if (a == "") return {};
var b = {};
for (var i = 0; i < a.length; ++i)
{
var p=a[i].split('=');
if (p.length != 2) continue;
b[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " "));
}
return b;
})(window.location.search.substr(1).split('&'))
})(jQuery);
$(document).ready(function() {
$myplan = $.QueryString["plan"];
switch ($myplan) {
case "#Flexi":
$aSel="#Flexi";
break;
case "#Grow":
$aSel="#Grow";
break;
case "#Excel":
$aSel="#Excel";
break;
case "#Max":
$aSel="#Max";
break;
}
($aSel).addAttr('selected', true)
.siblings('option')
.removeAttr('selected');
});
答案 0 :(得分:0)
更新2/11 6:51P
Uncaught TypeError: Object $aSel has no method 'addAttr'
因为$ aSel =类似“#IDName”而不是实际的jQuery对象。要成为一个jQuery对象,它需要更像$("EleIDNameofExistingEle")
或$("<option />").attr({ id: 'EleIDName' });
OLD
Uncaught ReferenceError: $aSel is not defined
首先尝试将$ aSel建立为变量。
此外,Codeigniter for PHP可以很好地使用jQuery,并且可以将变量数据传递到页面,就像$this->load->view('somePage', array( $data1=>'aString', $data2=>json_encode(array( 'item1'=>'blah', 'item2'=>'blaj' )));
一样简单,然后在页面上调用就像var aString = <?= $data1; ?>, aObj = <?= $data2; ?>;
CI现在有一个很棒的新库,可以直接在服务器端的页面上使用jQuery
答案 1 :(得分:0)
如果你想在页面加载时设置一个选项,最好在服务器端进行;如果用户已禁用JS,则不会设置该选项。你说你在评论中使用PHP,所以我将举例说明。
对于这些情况,我喜欢使用一系列选项来打印<select>
框,有点像这样:
$options = array('value' => 'Text', '1' => 'Choice 1', 'foo' => 'Choice foo');
$selectedOption = 'foo'; // What we want to be selected (value)
echo '<select name="whatever">';
// Loop through options
foreach($options as $value => $text) {
// If this is the selected value, add the selected attribute
if($value == $selectedOption) {
echo '<option selected="selected" value="' . $value . '">' . $text . '</option>';
else {
echo '<optoin value="' . $value . '">' . $text . '</option>';
}
}
echo '</select>'; // Close select tag
上面的代码循环遍历值数组。当它在数组中找到与$selectedOption
匹配的键时,它会为<option>
selected="selected"
属性提供该值。这种方法可以节省大量用HTML填充大量HTML的麻烦。我通常将这段代码放在一个函数中,并将它传递给一个关联数组和一个选定的选项,但这完全取决于你。