0

まとめているアンケートの一部として、選択ボックスにバインドされた jQuery スライダーを実装しようとしています。ただし、Chrome ではUncaught SyntaxErrorが発生し、IEでは予期される ')'エラーが発生します。

私が使用しているjQueryは次のとおりで、ここにあるjQuery UIサイトからの直接のコピーです。

<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js" type="text/javascript"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js" type="text/javascript"></script>
<script type="text/javascript">
  $(function() {
    var select = $( ".minbeds" );
    var slider = $( "<div id="slider"></div>" ).insertAfter( select ).slider({
      min: 1,
      max: 4,
      range: "min",
      value: select[ 0 ].selectedIndex + 1,
      slide: function( event, ui ) {
        select[ 0 ].selectedIndex = ui.value - 1;
      }
    });

    $( ".minbeds" ).change(function() {
      slider.slider( "value", this.selectedIndex + 1 );
    });
  });
</script>

コードに加えた変更は、#minbeds をクラス (.minbeds) から ID に変更したことだけです。

HTML は次のとおりです。

    <select class="minbeds">
      <option>1</option>
      <option>2</option>
      <option>3</option>
      <option>4</option>
    </select>

現在、コードは正常に動作しているようで、ローカル マシンではエラーは発生していませんが、CMS に配置するとすぐに、次の行の間にUncaught SyntaxError: Unexpected Identifierエラーが発生します (クロム):

var slider = $( "<div id="slider"></div>" ).insertAfter( select ).slider({

min: 1,

IE9 では、アスタリスクがここに示している場所で、Expected ')'が表示されます。

var slider = $( "<div id="*slider"></div>" ).insertAfter( select ).slider({

なぜこれが起こっているのか誰にも分かりますか?エラーを絞り込む方法について何か考えはありますか? JSLint を使ってみましたが、適切な使い方がわかりません。

役立つ場合は、CMS の完全なソース コードを次に示します。

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="head"><title>
test | Gael Ltd
</title><meta charset="UTF-8" /> 
<link href="/CMSPages/GetCSS.aspx?stylesheetname=GaelCorporate" type="text/css" rel="stylesheet" /> 
<link href="/App_Themes/Default/DesignMode.css" type="text/css" rel="stylesheet" /> 
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js" type="text/javascript"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js" type="text/javascript"></script>
<script type="text/javascript">
  $(function() {

    var select = $( ".minbeds" );
    var slider = $( "<div id="slider"></div>" ).insertAfter( select ).slider({
      min: 1,
      max: 4,
      range: "min",
      value: select[ 0 ].selectedIndex + 1,
      slide: function( event, ui ) {
        select[ 0 ].selectedIndex = ui.value - 1;
      }
    });
    $( ".minbeds" ).change(function() {
      slider.slider( "value", this.selectedIndex + 1 );
    });
  });
</script> 
<link href="/favicon.ico" type="image/x-icon" rel="shortcut icon" /> 
<link href="/favicon.ico" type="image/x-icon" rel="icon" /> 
<link href="/App_Themes/GaelCorporate/site_superfish.css" type="text/css" rel="stylesheet" />
<link href="/App_Themes/GaelCorporate/superfish.css" type="text/css" rel="stylesheet" />
</head>

<body class="LTR IE IE9 ENGB ContentBody">
<form method="post" action="/test-folder/test.aspx" id="form">

<div class="aspNetHidden">
  <input type="hidden" name="manScript_HiddenField" id="manScript_HiddenField" value="" />
  <input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
  <input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
</div>

<script type="text/javascript">
//<![CDATA[
  var theForm = document.forms['form'];
  if (!theForm) {
      theForm = document.form;
  }
function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
    }
}
//]]>
</script>


<script src="/WebResource.axd?d=jPoMVS0EaQHOPmIi_xm2HU7yLiOSI9SwD_nAvxdPGg3slCV5HIxf7PSCa8BfM4b35NfjJ4LD1KDvV9zGMhi-uyAc4R1j13kmLSk37dPSwRA1&amp;t=635080272185083230" type="text/javascript"></script>

<input type="hidden" name="lng" id="lng" value="en-GB" /><div>
<input type="hidden" name="vmode" id="vmode" value="2" />
</div>

<script src="/CMSPages/GetResource.ashx?scriptfile=%7e%2fCMSScripts%2fcmsedit.js" type="text/javascript"></script>
<script src="/ScriptResource.axd?d=qITU4oF4GWOpdURxveOn4klAk_JXip46ZHYKRqOUaPkNBV9OLAT0zMmPuZjF0ltSZKQlH5lCAk6I-L0CB4BfF84f5lbs5uiDmHRHcZEufPBw7X-M84RuYSjEXgjwE-gx0&amp;t=34d147fd" type="text/javascript"></script>
<script src="/ScriptResource.axd?d=05xl_ew97J9D2HSa4Uccwf9-hvRXKd018osO5VbhpBA71UbuP-EbmT7rx4i0SCEzVoF8fX63gNR8y-mVT88Ca0QEYuqmsHW4GGpDjGvljtfyIoQXInytcQQGxUI7XAD5x4baeNOY1cVoynUnafwICw2&amp;t=34d147fd" type="text/javascript"></script>

<div class="aspNetHidden">
<input type="hidden" name="__SCROLLPOSITIONX" id="__SCROLLPOSITIONX" value="0" />
<input type="hidden" name="__SCROLLPOSITIONY" id="__SCROLLPOSITIONY" value="0" />
</div>

<script type="text/javascript">
//<![CDATA[
  Sys.WebForms.PageRequestManager._initialize('manScript', 'form', [], [], [], 90, '');
//]]>
</script>

<div id="m" style="background:none;">
<div id="CMSHeaderDiv">
    <div id="m_PageManagerInfoContainer" class="PageManagerInfoContainer">
        <!-- --><div id="m_pnlPreviewInfo" class="PageManagerPreviewInfo">
            <span class="PreviewInfo">This is a preview mode of document <strong>test</strong>.</span><a class="PreviewInfoLink" href="javascript:__doPostBack(&#39;m$ctl02&#39;,&#39;&#39;)">Close</a><span class="PreviewInfo">the preview mode.</span>
            </div>
    </div>

<script type="text/javascript">
    //<![CDATA[
    if ( (parent != null) && (parent.IsCMSDesk) ) { infoElem = document.getElementById('m_pnlPreviewInfo'); if (infoElem) {if ( infoElem.style ) { infoElem.style.display = 'none'; } else { infoElem.display = 'none'; } }}
//]]>
</script><!-- -->
</div>
</div>

<div id="pagewrapper">
  <!-- vertical_menu div start -->
<div id="vertical_menu">


</div><!-- vertical_menu div end -->

<!-- content_container div start -->
<div id="content_container">
<div id="zoneContent">
    <div id="p_lt_zoneContent_BizForm_viewBiz">
<div id="p_lt_zoneContent_BizForm_viewBiz_ctl00">
    <div id="p_lt_zoneContent_BizForm_viewBiz_ctl00_pnlForm" class="FormPanel" onkeypress="javascript:return WebForm_FireDefaultButton(event, &#39;p_lt_zoneContent_BizForm_viewBiz_ctl00_btnOK&#39;)">
        <table class="EditingFormTable"><tr><td class="EditingFormLabelCell"><label id="p_lt_zoneContent_BizForm_viewBiz_ctl00_select_lb" class="EditingFormLabel" for="p_lt_zoneContent_BizForm_viewBiz_ctl00_select_dropDownList">select field</label></td><td class="EditingFormValueCell"><div class="EditingFormControlNestedControl">

<select name="p$lt$zoneContent$BizForm$viewBiz$ctl00$select$dropDownList" id="p_lt_zoneContent_BizForm_viewBiz_ctl00_select_dropDownList" class="minbeds">
                <option value="1">1</option>
                <option value="2">2</option>
                <option value="3">3</option>
                <option value="4">4</option>
</select>

</div></td></tr><tr>

<td class="EditingFormButtonLeftCell"></td>
<td class="EditingFormButtonCell">
    <input type="submit" name="p$lt$zoneContent$BizForm$viewBiz$ctl00$btnOK" value="OK" id="p_lt_zoneContent_BizForm_viewBiz_ctl00_btnOK" class="FormButton" />
  </td></tr></table>
  </div>
</div>
</div>

<select name="minbeds" class="selectInput">
  <option>1</option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
</select>
</div>

<div class="bottomWebParts"></div>

</div>
<!-- content_container div end -->

<!-- primary webparts div start -->
<div id="primary_webparts"></div>

<!-- primary webparts div end -->
</div>

<script type="text/javascript">
//<![CDATA[
  (function() {var fn = function() {$get("manScript_HiddenField").value = '';Sys.Application.remove_init(fn);};Sys.Application.add_init(fn);})();//]]>
</script>

<script type="text/javascript">
  //<![CDATA[
   InitializePage();
  //]]>
</script>

<script type="text/javascript">
  //<![CDATA[
    theForm.oldSubmit = theForm.submit;
    theForm.submit = WebForm_SaveScrollPositionSubmit;

    theForm.oldOnSubmit = theForm.onsubmit;
    theForm.onsubmit = WebForm_SaveScrollPositionOnSubmit;
  //]]>
</script>

<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTYwODg0MzQ2Ng9kFgICARBkZBYCAgMPZBYCZg9kFgJmD2QWAgIDD2QWAmYPZBYCZg8PFgIeCEZvcm1Nb2RlCyl1Q01TLkZvcm1FbmdpbmUuRm9ybU1vZGVFbnVtLCBDTVMuRm9ybUVuZ2luZSwgVmVyc2lvbj02LjAuNDcxMy4yNzkyNiwgQ3VsdHVyZT1uZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj04MzRiMTJhMjU4ZjIxM2Y5AGQWAgICD2QWAmYPZBYEAgEPDxYCHgdWaXNpYmxlaGQWAgIBDw8WBB4IQ3NzQ2xhc3MFH0VkaXRpbmdGb3JtQ29udHJvbE5lc3RlZENvbnRyb2weBF8hU0ICAmQWAmYPZBYCZg8PFgQfAgUKTGFiZWxGaWVsZB8DAgJkZAIHD2QWAgIBDw8WBB8CBR9FZGl0aW5nRm9ybUNvbnRyb2xOZXN0ZWRDb250cm9sHwMCAmQWAmYPDxYCHwJkZBYCZg8QDxYEHwIFB21pbmJlZHMfAwICZA8WBGYCAQICAgMWBBAFATEFATFnEAUBMgUBMmcQBQEzBQEzZxAFATQFATRnZGRkpyri0ouEXB8y3l0reZFw/5xfESlKtjr/PsCd4HT+bG4=" />
<script type="text/javascript"> 
  //<![CDATA[
  if (window.WebForm_InitCallback) { 
    __theFormPostData = '';
    __theFormPostCollection = new Array();
    window.WebForm_InitCallback(); 
  }
  //]]>
</script>
</form>

</body>
</html>
4

2 に答える 2

2

のようにしてみてください

var slider = $( "<div id='*slider'></div>" ).insertAfter( select ).slider({

または直接あなたが好きにすることができます

var slider = $( "div #slider" ).insertAfter( select ).slider({

select一重引用符または二重引用符で囲む必要があると思います。

于 2013-07-31T09:07:38.947 に答える
1

これを試して

var slider = $( '<div id="slider"></div>' ).insertAfter( select ).slider({
于 2013-07-31T09:09:51.493 に答える