我有一个名为Table
的{{1}},此CustomPickedTable
包含具有Table
等属性的行,而某些行根本没有任何属性。只是<td Data-question-id="5">Example</td>
我希望能够将em分类到不同的隐藏字段中,这些是我的隐藏字段:
<td>example</td>.
我现在拥有的代码是,所有具有属性@Html.HiddenFor(model => model.SelectedCustomQuestions, new { @id = "SelectedQuestionsWithAttr" })
@Html.HiddenFor(model => model.SelectedQuestions, new { @id = "SelectedQuestionsWithNoAttr" })
的行都会填充到"data-question-id"
,这是我对具有属性的行的隐藏字段。
但是我希望我的Jquery代码也填充那些行,没有属性被填充到我的SelectedQuestionsWithAttr
hiddenfield。
这是Just fill SelectedQuestionsWithAttr hiddenfield:
的代码SelectedQuestiosnWithNoAttr
是否有任何解决方案可以添加到我的jquery代码中?
先谢谢
答案 0 :(得分:0)
您需要在<td>
标记上添加 才能识别它们:
<td id="noAttr@(Model.SelectedQuestions.IndexOf(variable))">
然后jQuery将是:
var $qWithAttr = $("#SelectedQuestionsWithAttr");
var $qWithoutAttr = $("#SelectedQuestionsWithNoAttr");
var currentIds = new Array();
var missingIds = new Array();
$("#CustomPickedTable td[data-question-id]").each(function () {
currentIds.push($(this).attr("data-question-id"));
});
$("#CustomPickedTable td:not([data-question-id])").each(function () {
missingIds.push($(this).attr("id"));
});
$qWithAttr.val(currentIds.join(","));
$qWithoutAttr.val(missingIds.join(","));
$("form").submit();