当用户从选择选项列表中选择参数来更改图像的值时,我会使用jQuery捕获,因此可以设置为0,1,2等。
这是我的表,包含从DB加载的所有数据:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.3.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
这是我的jquery代码,名为change:
<?php if(count($local) >0 ){
foreach($local as $row => $val ){ ?>
<tr>
<td> <img src="<?php echo base_url();?>uploads/<?php echo $val['images']; ?>" width="50" height="50" /> </td>
<td> <select id="ddlViewBy" class="ddlView" onchange="categoryIMG('<?php echo $val['images']; ?>');" name="main[<?php echo $val['id']; ?>]" >
<option value="0" <?php if($val['main_image'] == 0){ ?> selected="selected" <?php } ?>>No</option>
<option value="1" <?php if($val['main_image'] == 1){ ?> selected="selected" <?php } ?> >Facebook </option>
<option value="2" <?php if($val['main_image'] == 2){ ?> selected="selected" <?php } ?> >Filosofia </option>
<option value="3" <?php if($val['main_image'] == 3){ ?> selected="selected" <?php } ?> >Galleria </option>
</select> </td>
</tr>
问题是:有时候需要花费太多时间来进行ajax调用,有时候当用户只使用select选项进行一次交互时会进行3或4次调用。
我还尝试了function categoryIMG(id){
var local = <?php echo $this->id; ?>;
var val = $('select').bind('change',function() {
var newval = $(this).val();
$.ajax({
type: "POST",
url: "<?php echo base_url() ?>backend/chg_img/" +id+"/"+newval+"/"+local,
data:{},
success: function(result){ alert('Successfully called');},
error:function(exception){alert('Exeption:'+exception);}
});
});
}
和.on('change', function())
,但我遇到了同样的问题。有什么想法吗?
答案 0 :(得分:1)
问题是,每次用户从选择框中选择选项时,您都要添加$('select').bind('change',function() {
。而不是仅修改您的HTML以从选择框中移除onchange="categoryIMG(
并将$('select').bind('change',function() {
移至$(document).ready(function(){
块。
答案 1 :(得分:0)
我认为你错过了var id
。试试这段代码
$('select').on('change',function() {
var loc = <?php echo $this->id; ?>;
var newval = $(this).val();
$.ajax({
type: "POST",
url: "<?php echo base_url() ?>backend/chg_img/" +id+"/"+newval+"/"+local,
data:{},
success: function(result){ alert('Successfully called');},
error:function(exception){alert('Exeption:'+exception);}
});
});