私はこのようになりますCSHTMLを持っている:どのようにアコーディオンの内側に呼ばれる部分的なビューにJavaScriptを適用するには?
<script>
$(function() {
$("#accordion").accordion();
});
</script>
<div id="accordion">
<h3 id="report1">Report1</h3>
<div>
@Html.Partial("~/Views/Settings/SControl.cshtml")
</div>
<h3 id="report2">Report2</h3>
<div>
@Html.Partial("~/Views/Settings/SControl.cshtml")
</div>
</div>
私SControl.cshtmlは、以下のようになります。 私は似たタグが継続されているこのCSHTMLで外部のJavaScriptファイル
<script src="~/Scripts/App/pages/SControl.js" type="text/javascript"></script>
<table>
<tr>
<th></th>
<th></th>
</tr>
<tr>
<td style="left:0.01em;">
<span style="font-weight:bold;font-size:x-small;">Run Mode</span><div>
<select id="Mode" onchange="SubmitMode(this)">
<option selected="selected" value="1">Run Continuosly</option>
<option value="2">Run on Schedule</option>
</select>
<br />
</div>
</td>
<td>
<span style="font-weight:bold;font-size:x-small;">Reccurence:</span><div>
<select id="Recurrance" onchange="ChangeRecurrance(this)">
<option selected="selected" value="1">On Time Job</option>
<option value="2">Reccurring Job</option>
</select>
<br />
</div>
</td>
</table>
が含まれていますcshtmlページ。しかし、スクリプトはアコーディオンの最初のヘッダーにのみ適用されます。すべてのアコーディオンヘッダーで同じ部分ビューが呼び出され、これらの部分ビューすべてで同じjavascriptファイルが呼び出されますが、最初のヘッダーのみがスクリプトを取得します。この問題に対処する方法。
$(function() {
document.getElementById("Recurrance").disabled = true;
document.getElementById("starttime").disabled = true;
document.getElementById("endtime").disabled = true;
document.getElementById("divnoenddate").disabled = true;
$('#noenddate').prop('disabled', true);
document.getElementById("RecurEvery").disabled = true;
$(".date-picker").datetimepicker({
changeMonth: true,
changeYear: true,
yearRange: "-100:+0",
dateFormat: 'dd-M-yy',
controlType: 'select',
timeFormat: 'hh:mm tt',
showTime: false,
showMinute: false,
showMillisec: false,
showMicrosec: false,
showTimezone: false
});
});
function ChangeCheckBox() {
if (document.getElementById("Mode").value != 1) {
debugger;
if (document.getElementById('noenddate').checked == true) {
document.getElementById("endtime").disabled = true;
}
else {
document.getElementById("endtime").disabled = false;
document.getElementById("endtime").value = "";
}
}
}
あなたが意図的に複数回のファイルと同じJavaScriptを含めるようにしようとしている場合を除き、あなただけのスクリプトタグを持っている必要があります:私はjsの外部コードが間違っていると、画像の下のようなエラーがあると思います
親ビューの 'SControl.js'では、部分集合ではなく、 –
2つの同一部分(両方とも 'SControl.cshtml')が意味をなさないこと、そしてあなたのスクリプトがうまくいかないことを意味する重複した' id'属性(無効なhtml)を持っていることを意味します。 –
@StephenMueckeアコーディオンの部分図と同じ。このようにしないとどうすればいいですか? –