Jquery 表设置更改后的默认选定值

Jquery 表设置更改后的默认选定值,jquery,jeditable,Jquery,Jeditable,我的应用程序允许用户通过下拉框使用表格更新字段。加载程序时,我创建了此函数以获取选定值,并将其设置为表中的选定值 但在更改值后,所选标记将保持设置为旧值。如何将其更改为新值 这就是函数 function updateType(ID,type){ $(document).ready(function(){ $('#tweekType-'+ID).editable("edit.php?type=tweekType", { data : " {'copywriting':'

我的应用程序允许用户通过下拉框使用表格更新字段。加载程序时,我创建了此函数以获取选定值,并将其设置为表中的选定值

但在更改值后,所选标记将保持设置为旧值。如何将其更改为新值

这就是函数

function updateType(ID,type){
$(document).ready(function(){

    $('#tweekType-'+ID).editable("edit.php?type=tweekType", {  

    data   : " {'copywriting':'Copywriting','design':'Design','code':'Code', 'selected':'"+type+"'}",
    type   : 'select'

    });
});
这是标签的包装

<span id="tweekType-<?php echo $getTweaksReturned->tweekID; ?>">
<?php type($getTweaksReturned->type); ?>
<script>updateType('<?php echo $getTweaksReturned->tweekID; ?>','<? echo $getTweaksReturned->type; ?>'); </script>
</span> 

在返回新变量的页面上复制了相同的标记。

您的代码看起来很像jQuery,但它可能可以工作。是否有将表分别绑定到每个id的原因?在函数中调用document.ready是否也有原因?只需给span一个类并绑定到一个类

<span class="tweek" id="tweekType-<?php echo $getTweaksReturned->tweekID; ?>">
<?php type($getTweaksReturned->type); ?>
</span>
或者,您也可以从返回JSON数组的外部url加载select的内容。则select的文本和值不需要匹配:

$(document).ready(function(){
    $('#tweekType-'+ID).editable("edit.php?type=tweekType", {  
       loadurl : "http://www.example.com/select.php",
       type    : 'select'
    });
});

我没有向php脚本提交值,但当您使用jeditable调用另一个javascript函数时,必须返回要从该函数更新的值,以便:

$(".selector").editable(someFunction, {
    indicator: "Saving...",
    tooltip: "Click to edit...",
    data: " {'3':'3','4':'4','5':'5'}",
    type: 'select',
});
然后:


有两种方法可以预先选择当前选定的值

如果是纯客户端,则可以覆盖数据函数:

 $('.edit').editable('/xxx/TableRowUpdate', {
   ...
   data: function (value, settings) {
     return " {'a':'category a','b':'category b','selected': '" + value + "'}";
   },
   ...
如果是服务器端,您可以使用

$('.edit').editable('/xxx/TableRowUpdate', { 
     ...    
     loadurl: '/xxx/FileCategoryList',
     loadtype: "POST",
     loaddata: function(value, settings) {
                  return {selectedValue: value};
               },
服务器端代码c MVC示例如下所示

public JsonResult FileCategoryList(string selectedValue)
{
  var categories = new Dictionary<string, string>{{"a", "a category"}, {"b", "b category"}, {"selected", selectedValue}};
    return Json(categories, JsonRequestBehavior.DenyGet);
}

在我的情况下,我不得不削减价值。这是因为神秘的空白

$('.edit').editable('/xxx/TableRowUpdate', {
...
data: function (value, settings) {
return " {'a':'category a','b':'category b','selected': '" + $.trim(value) + "'}";
},
...

希望这能有所帮助

我也有同样的问题。这里给出的答案并不中肯

不管怎样,我用一个非常简单简洁的解决方案解决了这个问题:

只是不要添加“selected”键和值

每次打开选择框时,它都会自动显示在单元格的值上


希望这能有所帮助。

我已经搜索了几个小时了,效果非常好。非常感谢!
public JsonResult FileCategoryList(string selectedValue)
{
  var categories = new Dictionary<string, string>{{"a", "a category"}, {"b", "b category"}, {"selected", selectedValue}};
    return Json(categories, JsonRequestBehavior.DenyGet);
}
$('.edit').editable('/xxx/TableRowUpdate', {
...
data: function (value, settings) {
return " {'a':'category a','b':'category b','selected': '" + $.trim(value) + "'}";
},
...