如何在jquery代码中使用“ ^ =“属性向我显示所有值以字符“ f”开头

时间:2019-05-02 15:44:02

标签: javascript jquery

说我有下面的代码,当有人单击汽车名称时,我想激活我的按钮,但是我不想写每个汽车名称。我想使用属性“ ^ =“,当有人选择汽车制造商法拉利,菲亚特或福特时,允许我激活按钮。在CSS中,它们存在属性“ ^ =” witch,我可以使用它来定义名称的前几个字符-在我的示例中,“ f”用于具有第一个字符的汽车。当我在jquery代码中写入此属性时,代码将无法正常工作。有人可以在下面的代码中定义CSS属性“ ^ =”吗?

我试图用代码[value ^ =“ f”]编写代码,但这没用。

html     

<select class="cars">
      <option value="none" selected></option>
      <option value="ferrari">Ferrari</option>
      <option value="fiat">Fiat</option>
      <option value="ford">Ford</option>
    </select>
  <button class="SubmitButton" type="button" >Click Me!</button>

css

.SubmitButton {width:150px;}
.ButtonColor1 {color:red;}
:disabled {
  border:3px solid lightgray;
  color:gray;
}
button {
  border:3px solid green;
  color:black;
}
button:hover:disabled {
  cursor:not-allowed;
}
button:hover {
  cursor:pointer;
}

jquery

$(document).ready(function() {
    if($("select.cars").val() == "none"){
        $(".SubmitButton").attr("disabled", "disabled");
      }
    $("select.cars").change(function(){
      if($(this).val() == [value^="f"]){
         $(".SubmitButton").removeAttr("disabled");
         $(".SubmitButton").addClass("ButtonColor1");  
      }
      else if($("select.cars").val() == "none"){
        $(".SubmitButton").attr("disabled", "disabled");
      }
    });
});

2 个答案:

答案 0 :(得分:1)

您需要使用jQuery,因为CSS无法获取要应用的选项文本。

if($("select.cars :selected").text().indexOf("F") === 0){
           $(".SubmitButton").removeAttr("disabled");
           $(".SubmitButton").addClass("ButtonColor1");  

 }

$(document).ready(function() {
    if($("select.cars").val() == "none"){
        $(".SubmitButton").attr("disabled", "disabled");
      }
    $("select.cars").change(function(){
    
         if($("select.cars :selected").text().indexOf("F") === 0){
           $(".SubmitButton").removeAttr("disabled");
           $(".SubmitButton").addClass("ButtonColor1");  
         
      }
      else if($("select.cars").val() == "none"){
        $(".SubmitButton").attr("disabled", "disabled");
      }
    });
});
.SubmitButton {width:150px;}
.ButtonColor1 {color:red;}
:disabled {
  border:3px solid lightgray;
  color:gray;
}
button {
  border:3px solid green;
  color:black;
}
button:hover:disabled {
  cursor:not-allowed;
}
button:hover {
  cursor:pointer;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select class="cars">
      <option value="none" selected></option>
      <option value="ferrari">Ferrari</option>
      <option value="fiat">Fiat</option>
      <option value="ford">Ford</option>
    </select>
  <button class="SubmitButton" type="button" >Click Me!</button>

答案 1 :(得分:0)

您可以使用AttributeError Traceback (most recent call last) <ipython-input-6-5606e23c7cf8> in <module>() 33 emsg = traceback.format_exc() 34 logMessage("ERROR - Unable to send email because of :"+emsg) ---> 35 success_mail() <ipython-input-6-5606e23c7cf8> in success_mail() 22 msg.attach(MIMEText("Scoring completed. Attached is the latest report")) 23 f=sc.textFile("/user/userid/folder/report_20190501.csv") ---> 24 part = MIMEApplication("".join(f.collect()).encode('utf-8', 'ignore'), Name=basename(f)) 25 part['Content-Disposition'] = 'attachment; filename="%s"' % basename(f) 26 msg.attach(part) /hadoop/ipython/userid/pyspark/lib64/python2.7/posixpath.pyc in basename(p) 112 def basename(p): 113 """Returns the final component of a pathname""" --> 114 i = p.rfind('/') + 1 115 return p[i:] 116 AttributeError: 'RDD' object has no attribute 'rfind'

startsWith
$(document).ready(function() {
    if($("select.cars").val() == "none"){
        $(".SubmitButton").attr("disabled", "disabled");
      }
    $("select.cars").change(function(){
      if($(this).val().startsWith("f")){
         $(".SubmitButton").removeAttr("disabled");
         $(".SubmitButton").addClass("ButtonColor1");  
      }
      else {
        $(".SubmitButton").attr("disabled", "disabled");
      }
    });
});