2016-08-26 56 views
-1

我是一般編程和特別是jquery的新手。我建立一個使用以下插件的星級系統的ASP MVC項目:從jquery返回(隱藏?)值

https://github.com/kartik-v/bootstrap-star-rating

不過,我有困難的時候訪問值數據庫一旦用戶選擇了評級。我當前的代碼如下:

  <div class="form-group"> 
       @Html.LabelFor(model => model.Rating, htmlAttributes: new { @class = "control-label col-md-2" }) 
       <div class="col-md-10"> 
        <span class="star"> 
         <input id="input-id" type="radio" value="alert($('input#input-id').val())" class="rating" data-size="lg"> 
        </span> 
       </div> 
      </div> 
      <div class="form-group"> 
       <div class="col-md-offset-2 col-md-10"> 
        <input type="submit" value="Save" class="btn btn-default" /> 
       </div> 
      </div> 
     </div> 
} 
    <div> 
     @Html.ActionLink("Back to List", "Index") 
    </div> 
    <link href="http://netdna.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.css" rel="stylesheet"> 
    <link href="~/Content/star-rating.css" media="all" rel="stylesheet" type="text/css" /> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.js"></script> 
    <script src="~/Scripts/star-rating.js" type="text/javascript"></script> 
    <link href="~/Content/theme-krajee-svg.css" media="all" rel="stylesheet" type="text/css" /> 
    <script src="~/Scripts/theme-krajee-svg.js"></script> 

    @section Scripts { 
     @Scripts.Render("~/bundles/jqueryval") 

    } 

當我加載頁面後檢查HTML,我可以看到該插件修改:

<input id="input-id" type="radio" value="alert($('input#input-id').val())" class="rating" data-size="lg"> 

要:

<input id="input-id" type="radio" value=//whatever user rates class="rating hide" data-size="lg"> 

所以看來也許我正在返回某種類型的隱藏輸入?我讀了這個鏈接,但是毫無效果:

jQuery access input hidden value

我必須做一些錯誤的。任何幫助將非常感謝這個新手!

+0

'value = //無論用戶費率' - 從字面上看? –

+0

不好意思,不清楚。該值將是用戶點擊的任何明星。 – Pennywise

回答

0

其實它不是一個hidden領域,但它只是radio領域,哪些是你正在使用的星級插件增加了一個hide類它,所以它是不可見的,但如果你想獲得它的值,則您可以使用,

$('input#input-id').val(); 

而不是在其value屬性,而不是你需要,當你發佈數據到服務器使用它在您的表單提交或者在你的代碼。

0

你可以調用它onChange功能,並獲得input值象下面這樣:

$("#input-id").change(function() { 
    var atrvalue = $(this).attr('value'); // get the value 
    alert(atrvalue); 
}); 

退房這個fiddle的演示。

0

該解決方案實際上非常簡單。我所要做的就是添加一個名稱=「評級」屬性,並將「類型」從無線電改爲數字(文字也可以)。這裏是修改後的版本適用於我:

<input id="input-id" type="number" value="1" class="rating" data-size="lg" name="Rating">