通过文本属性选择的选项不是值吗?
单击表格行时,行文本将复制到上面的输入以进行编辑。文本复制得很好,但我无法得到所有的选择权。我的文本与值不同(对于每个选择,它都是第三列),所以我不能使用select的.val()。通过文本属性选择的选项不是值吗?
我需要属性/道具选择文本匹配文本的开始和是否可报销(第三列)。想法? jsfiddle.net/7vLdxddr/14
$('.table').on('click', 'tr', function() {
if ($(this).hasClass('selected')) {
$(this).removeClass('selected');
}
else {
$('tr.selected').removeClass('selected');
$(this).addClass('selected');
}
for (var i = 0; i < $(this).find("td").length; i++) {
// fill input values
$(this).closest("table").find("th").eq(i).find("input:text").val($(this).find("td").eq(i).text());
// fill selects
$(this).closest("table").find("th").eq(i).find("select").val($(this).find("td").eq(i).text());
}
});
如果您这样做,则不需要具有与文本相同的值。
$('table').on('click', 'tr', function() {
if ($(this).hasClass('selected')) {
$(this).removeClass('selected');
}
else {
$('tr.selected').removeClass('selected');
$(this).addClass('selected');
}
// fill inputs
$(this).closest("table").find("th").eq(0).find("input:text").val($(this).find("td").eq(0).text());
// fill selects
var text = $(this).find("td").eq(1).text();
var text3 = $(this).find("td").eq(2).text();
$(this).closest("table").find("th").eq(1).find("select option").filter(function() {
return $(this).text().indexOf(text) >= 0 && $(this).text().indexOf($(this).closest("table").find("th").eq(2).find('select option[value="' + text3 + '"]').text()) > 0;
}).prop('selected', true);
$(this).closest("table").find("th").eq(2).find('select').val(text3);
});
如何使用indexOf()添加到这个上?我的一些tds有空白或破折号。 http://jsfiddle.net/7vLdxddr/12/ – triplethreat77 2014-09-18 19:52:25
答复已更新。 – 2014-09-18 19:56:56
差不多。我不希望选择改变,只匹配第一个词并选择该选项。 – triplethreat77 2014-09-18 20:02:19
刚刚更新选择值的值,以反映从点击(即cir
到circle
进来的文字,sq
到square
和它完美的作品。
http://jsfiddle.net/7vLdxddr/10/
什么你的代码试图做的是选择一个值为circle
的输入,但circle
字段的值为cir
,所以它没有被选中pro佩尔利。
但问题指出“我的文本与值不同”,所以只是修改该值可能不是一个好答案。 – 2014-09-18 19:44:05
@Kristoffer真的,我的硬编码值将是最快的解决方案,但如果它是动态的(或从其他网站获取等),并且需要匹配,那么您的答案效果最好。我想对手头的问题有更好的理解是必要的。 – asdf 2014-09-18 19:47:22
循环选项,检查文本,如果匹配,则设置选定的属性。 – epascarello 2014-09-18 19:27:12
例子?小提琴安装完毕。 – triplethreat77 2014-09-18 19:29:03
可以更改选择的文本值还是动态生成这些值? – asdf 2014-09-18 19:47:54