所以我是Javascript的新手,经过很长一段时间的搜索,我找不到我想要的答案(也许是因为我没有合适的条款)
所以这是我的剧本:
function changeStyle() {
var type = $('select[name=style_website]').val();
var numwebsite = $('select[name=style_website]').attr('data-numwebsite');
$.post("getstyle",{'type': type,'numwebsite': numwebsite},
function(retour){
$('.websitestyle_js').val(retour);
});
}
这是我的HTML:
<strong><?php echo "Modify your style";?></strong>
<select onchange="changeStyle()" style="float: right;" name="style_website" data-numwebsite="<?php echo $numwebsite;?>">
<option value="style" selected>Your style</option>
<option value="mini">Mini</option>
<option value="bmw">Bmw</option>
</select>
<form method="post" action="<?php echo base_url();?>websites/modificationStyle?numwebsite=<?php echo $numwebsite;?>">
<div class="well">
<p><strong><?php echo "Code Editor";?></strong></p>
<textarea name="websitestyle" class="websitestyle_js" id="code1"><?php echo $websitedata['websitestyle'];?></textarea>
</div>
<button type="submit" class="btn btn-success form-control m-b"><?php echo "Modify Style";?></button>
</form>
我想要做的是根据选择更改textarea的内容,每次用户点击其他选项时,都应该更改textarea。问题是它没有改变任何东西,所以我想知道我的语法是错误的还是我错过了什么。
我用alert()打印“retour”,它包含我要附加到textarea的数据,所以它不是来自那个。我也尝试添加这一行:
$('.websitestyle_js').val('test');
单独在我的html结尾处查看它是否是语法错误,但它更改了textarea。
感谢您的回答。
EDIT1(询问的是console.log的结果):
EDIT2(对于那些困惑的人来说,最终看起来像是什么):
答案 0 :(得分:0)
在更改时通过jquery尝试解决方法。这是一个在更改选择
时更改textarea的演示uploadOrders.enqueue(new Callback<Order>() {...});
JS
<strong><?php echo "Modify your style";?></strong>
<select style="float: right;" name="style_website" data-numwebsite="numwebsite">
<option value="style" selected>Your style</option>
<option value="mini">Mini</option>
<option value="bmw">Bmw</option>
</select>
<form method="post">
<div class="well">
<p><strong><?php echo "Code Editor";?></strong></p>
<textarea name="websitestyle" class="websitestyle_js" id="code1"></textarea>
</div>
<button type="submit" class="btn btn-success form-control m-b">Modify Style</button>
</form>
也许这不是你真正需要的,但它通常会回答你的问题&#34;我想要做的是根据选择改变我的textarea的内容,每次用户点击不同的选项时假设改变textarea&#34;。
答案 1 :(得分:0)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
function changeStyle() {
var type = $('select[name=style_website]').val();
var numwebsite = $('select[name=style_website]').attr('data-numwebsite');
$.post("getstyle.php",{'type': type,'numwebsite': numwebsite},
function(retour){
$('.websitestyle_js').val(retour);
});
}
</script>
<strong><?php echo "Modify your style";?></strong>
<select onchange="changeStyle()" style="float: right;" name="style_website" data-numwebsite="<?php echo $numwebsite;?>">
<option value="style" selected>Your style</option>
<option value="mini">Mini</option>
<option value="bmw">Bmw</option>
</select>
<form method="post" action="websites/modificationStyle?numwebsite=<?php echo $numwebsite;?>">
<div class="well">
<p><strong><?php echo "Code Editor";?></strong></p>
<textarea name="websitestyle" class="websitestyle_js" id="code1"><?php echo $websitedata['websitestyle'];?></textarea>
</div>
<button type="submit" class="btn btn-success form-control m-b"><?php echo "Modify Style";?></button>
</form>
试试这个...它正在运作..
答案 2 :(得分:0)
尝试使用console logging retour,也许你应该使用responseText,另一个选择是尝试html(retour)而不是val
答案 3 :(得分:0)
CodeMirror是我用来创建冲突的Code样式。我解决了我的问题,谢谢大家给你的答案